博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
33. Search in Rotated Sorted Array
阅读量:4599 次
发布时间:2019-06-09

本文共 1490 字,大约阅读时间需要 4 分钟。

June-21-2019

这个题代码写得不如一刷简洁

1 - 先通过nums[l] < nums[r] 判断是否rotate
2 - 通过nums[m]和nums[l] 关系判断是6 7 1 2 3 4 5,还是6 7 8 9 1 2,左边右边哪边多,然后再接着判断,感觉就是楞做的。。

仔细看其实把1的判断去掉也能过= =因为1的逻辑已经囊括在2里面了,所以这次写的不如一刷简洁= =

public int search(int[] nums, int target) {        if (nums == null || nums.length == 0) return -1;                int l = 0, r = nums.length - 1;                while (l + 1 < r) {            int m = l + (r - l) / 2;            int val = nums[m];            if (val == target) {                return m;            }            // } else if (nums[l] < nums[r]) {            //     if (val < target) {            //         l = m + 1;            //     } else {            //         r = m - 1;                //     }            // }              else {                // 6 7 8 1 2 3 4 5                    if (val < nums[l]) {                    if (target > val && target <= nums[r]) {                        l = m;                    } else {                        r = m;                    }                } else {                // 6 7 8 9 10 11 1 2 3                    if (target >= nums[l] && target < val) {                        r = m;                    } else {                        l = m;                    }                }            }        }                if (nums[l] == target) {            return l;        } else if (nums[r] == target) {            return r;        } else {            return -1;        }    }

转载于:https://www.cnblogs.com/reboot329/p/11068487.html

你可能感兴趣的文章
linux 网卡配置文件详解
查看>>
掉队于云计算市场是甲骨文裁员的最大原因
查看>>
2019春第三周编程
查看>>
datetime处理日期和时间
查看>>
IOS AFNetWorking 设置超时时间
查看>>
iOS 使用markdown 实现编辑和预览文本
查看>>
X86系列CPU 注记(二)
查看>>
一个简单的消息处理框架
查看>>
RTSP会话基本流程
查看>>
C++——OOP面向对象理解
查看>>
[系统]archlinux的glibc又调皮了……
查看>>
使用 Vue.js 和 Chart.js 制作绚丽多彩的图表
查看>>
内置函数
查看>>
mysql 5.6二进制安装
查看>>
c#调用c++ dll(二)
查看>>
XXS level10
查看>>
20175301 实验五《网络编程与安全》实验报告
查看>>
window下的run命令行解释 - 转
查看>>
android 数据存储方式
查看>>
第一次作业
查看>>