zoukankan      html  css  js  c++  java
  • [LeetCode]: 35: Search Insert Position

    题目:

    Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

    You may assume no duplicates in the array.

    Here are few examples.
    [1,3,5,6], 5 → 2
    [1,3,5,6], 2 → 1
    [1,3,5,6], 7 → 4
    [1,3,5,6], 0 → 0

    思路1:数组从小到大直接判断

    代码:

        public static int searchInsert(int[] nums, int target) {
    
            if(target < nums[0]){
                return 0;
            }
            
            if(target > nums[nums.length-1]){
                return nums.length;
            }
            
            for(int i = 0;i<nums.length;i++){
                if(target == nums[i]){
                    return i;
                }
                else{
                    if(i>0){
                        if(target > nums[i-1] &&  target < nums[i]){
                            return i;
                        }
                    }
                }
            }
            
            return -1;
        }

    思路2:二分查找

        public static int searchInsert(int[] nums, int target) {
            if(target < nums[0]){
                return 0;
            }
            
            if(target > nums[nums.length-1]){
                return nums.length;
            }
            
            int low = 0;
            int high = nums.length-1;
            int middle =0;
            
            while(low <=high ){
                middle = (int)((low + high)/2);
                
                if(target == nums[middle]){
                    return middle;
                }
                if(target < nums[middle]){
                    high = middle-1;    
                }
                
                if(target > nums[middle]){
                    low = middle+1;    
                }
            }
            
            return low;
        }
  • 相关阅读:
    本地快速搭建 FTP 服务器
    css 四个角
    时间
    两个json深度对比
    工作常用
    js模块化 中的变量可在局部 中的‘全局共享’
    datatables 的导出button自定义
    css布局技巧
    datables自定义排序
    js判断是否为空 或者全部为空
  • 原文地址:https://www.cnblogs.com/savageclc26/p/4852733.html
Copyright © 2011-2022 走看看