当前位置:网站首页>20220523搜索和排序:搜索旋转排序数组
20220523搜索和排序:搜索旋转排序数组
2022-08-09 02:37:00 【丿SeeYouAgain】
题目描述:整数数组 nums
按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums
和一个整数 target
,如果 nums
中存在这个目标值 target
,则返回它的下标,否则返回 -1
。
编码实现:
public int search(int[] nums, int target) {
int left = 0, right = nums.length - 1;
int mid = -1;
while(left <= right){
mid = left + (right - left) / 2;
if(target == nums[mid]){
return mid;
}
if(nums[mid] >= nums[left]){
if(target < nums[mid] && target >= nums[left]){
right = mid - 1;
}else{
left = mid + 1;
}
}else{
if(target > nums[mid] && target <= nums[right]){
left = mid + 1;
}else{
right = mid - 1;
}
}
}
return -1;
}
边栏推荐
- 科大讯飞笔试题复盘
- online schema change and create index
- YOLOV1详解——Pytorch版
- Take you do interface test from zero to the first case summary
- MT4/MQL4 Getting Started to Mastering EA Tutorial Lesson 1 - MQL Language Common Functions (1) OrderSend() Function
- 第一部分:和数组相关的问题
- 边缘计算的三个关键好处
- uart_spi练习
- Solve the Final Fantasy 13-2 Clock Puzzle with DFS
- Maya engine modeling
猜你喜欢
随机推荐
2022 China Eye Expo, China Beijing International Children and Adolescent Eye Health Industry Exhibition
JS 截取数组的最后几个元素
时间复杂度和空间复杂度
Programmer's Daily Life | Daily Fun
16.flink 自定义KeySelector
USB 触摸在竖屏时校准
313. 超级丑数-暴力解法
【电商运营】不知道怎么做网站优化?这里有你需要知道的一切!
金融行业软件测试面试题(含答案)| 入门指南
最近看到很多人想自学或者报班但是不清楚如何选择,我今天就和大家说说
最新工业界推荐系统数据集-召回排序模型原理、结构及代码实战整理分享
全志通过fastboot烧写boot.img
多态 polymorphism
Likou Brush Question Record--Common Functions
Yii2开启 Schema 缓存
笔算开2次方根、3次方根详细教程
“蔚来杯“2022牛客暑期多校训练营7,签到题CFGJ
炫酷-轮播图-走马灯
gpio子系统和pinctrl子系统(中)
帮助安全红队取得成功的11条建议