leetCode-Search Insert Position
来源:互联网 发布:java swing 教程 编辑:程序博客网 时间:2024/06/06 01:58
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.
Example 1:
Input: [1,3,5,6], 5
Output: 2
Example 2:
Input: [1,3,5,6], 2
Output: 1
Example 3:
Input: [1,3,5,6], 7
Output: 4
Example 1:
Input: [1,3,5,6], 0
Output: 0
我的版本(递归二分):
class Solution { public int searchInsert(int[] nums, int target) { if(target > nums[nums.length - 1]){ return nums.length; }else if(target < nums[0]){ return 0; } return binarySearch(nums,0,nums.length -1,target); } int binarySearch(int[]nums,int first,int last,int target){ int medium = (first + last) / 2; if(first == medium && nums[medium] != target){ return first + 1; } if(target == nums[medium]){ return medium; } if(target > nums[medium]){ first = medium; } if(target < nums[medium]){ last = medium; } return binarySearch(nums,first,last,target); }}
改进版本(非递归二分):
class Solution { public int searchInsert(int[] nums, int target) { if (nums.length == 0) { return 0; } if (target > nums[nums.length - 1]) { return nums.length; } if (target < nums[0]) { return 0; } int start = 0; int end = nums.length - 1; while (start < end - 1) { int mid = start + (end - start) / 2; if (nums[mid] < target) { start = mid; } else { end = mid; } } if (nums[start] == target) { return start; } else { return end; } }}
阅读全文
0 0
- LeetCode: Search Insert Position
- LeetCode Search Insert Position
- [Leetcode] Search Insert Position
- LeetCode : Search Insert Position
- [LeetCode] Search Insert Position
- [Leetcode] Search Insert Position
- [LeetCode]Search Insert Position
- [LeetCode] Search Insert Position
- LeetCode-Search Insert Position
- LeetCode - Search Insert Position
- LeetCode | Search Insert Position
- Leetcode: Search Insert Position
- 【LeetCode】Search Insert Position
- Leetcode Search Insert Position
- Leetcode: Search Insert Position
- LeetCode:Search Insert Position
- leetcode Search Insert Position
- LeetCode Search Insert Position
- 一些入门级函数
- 如何通过百度指数分析用户的真实需求?
- 火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题
- ubuntu声音设置不显示声卡设备的解决方法
- 动态添加 Redis 密码认证
- leetCode-Search Insert Position
- 初试Vuforia开发AR(V客学院知识分享)
- 游戏开发学习笔记(五)人物的移动及相机的跟随
- Linux中MySQL中文乱码解决
- 为所有model添加通用的方法
- 深入理解 Spring 事务原理
- centos上yum命令不能用了解决方案
- PHP 升级到5.5后MySQL的代替法
- 微信小程序调用函数