LeetCode50|搜索旋转排序数组II

时间:2022-07-24
本文章向大家介绍LeetCode50|搜索旋转排序数组II,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1,问题简述

假设按照升序排序的数组在预先未知的某个点上进行了旋转。

( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。

编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false

2,示例

示例 1:
输入: nums = [2,5,6,0,0,1,2], target = 0
输出: true
示例 2:
输入: nums = [2,5,6,0,0,1,2], target = 3
输出: false

3,题解思路

HashSet集合的使用

4,题解程序

 
import java.util.HashSet;

public class SearchTest2 {
    public static void main(String[] args) {
        int[] nums = {1};
        int target = 1;
        boolean flag = search(nums, target);
        System.out.println("flag = " + flag);
    }

    public static boolean search(int[] nums, int target) {
        if (nums == null || nums.length == 0) {
            return false;
        }
        int length = nums.length;
        HashSet<Integer> hashSet = new HashSet<>(length);
        for (int num : nums) {
            hashSet.add(num);
            if (hashSet.contains(target)) {
                return true;
            }
        }

        return false;
    }


}

5,题解程序图片版

6,总结

HashSet集合的使用,

凑字数来了,曾经我会后悔自己有些事情没有去做,但是随着自己对自己的一通分析,觉得自己本身还是有一些优点的,后悔有用吗?

就这样一步步问自己,经过读书的理解,自己慢慢明白了一个道理,人生走的每一步都算数。

很久之前的文章就给与了自己这句话,急功近利,欲速则不达,找好自己的人生路,慢慢跑吧,这样自己的人生方向才有了自己独有的特点。