zoukankan      html  css  js  c++  java
  • leetcode刷题20

    今天刷的题是LeetCode第33题,该题的要求是:

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

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

    搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。

    你可以假设数组中不存在重复的元素。

    你的算法时间复杂度必须是 O(log n) 级别。

    我的思路也很简单,就是双指针判断。代码如下:

    public class Search_33_middle {
        public static int solution(int [] nums,int target){
            int result=-1;
            int left=0;
            int right=nums.length-1;
            while (left<=right){
                if (nums[left]!=target){
                    left++;
                }else {
                    result=left;
                    break;
                }
                if (nums[right]!=target){
                    right--;
                }else {
                    result=right;
                    break;
                }
            }
            return result;
        }
    }

  • 相关阅读:
    Redis 分布式锁
    Angular VS Blzaor
    Chorme 跨域的快捷解决
    旋转3角形
    .Netcore AD 操作
    .Netcore 2.2 和3.1 的模板
    Command3
    CSS Selector
    弹性盒子
    Label_strange_labels
  • 原文地址:https://www.cnblogs.com/cquer-xjtuer-lys/p/11479497.html
Copyright © 2011-2022 走看看