【leetcode】【35】Search Insert Position
2015-11-06 19:43
417 查看
一、问题描述
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
二、问题分析
根据题目描述发现数组是有序的,而我们要进行的操作是一次查找,显然该采用二分查找法,至于查找的结果无非有两种,第一存在,直接返回index即可,第二不存在,那么low==high的位置即为所插之位。
三、Java AC 代码
</pre><pre name="code" class="java">public int searchInsert(int[] nums, int target) { int high = nums.length-1; int low = 0; int mid = 0; while(low<=high){ mid = (low+high)/2; if (nums[mid]==target) { return mid; }else if (nums[mid]<target) { low = mid + 1; }else { high = mid - 1; } } return low; }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统