34. Search for a Range
来源:互联网 发布:垃圾分类网络知识竞赛 编辑:程序博客网 时间:2024/04/28 01:17
//题目一看就是二分法查找//二分查找最需要注意的就是不要出现循环中出不来的情况//特别是正体只有两个数的时候最可能出现循环跳不出来的情况class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { int l=0,r=nums.size()-1; int m=(l+r)/2; while(!(nums[m]==target&&(m==0||nums[m-1]!=target))&&l<r) { if(nums[m]<target) { if(m==l) l++; else l=m; } else r=m; m=(l+r)/2; } if(nums[m]!=target) return {-1,-1}; int l0=m,r0=nums.size()-1; int m0=(l0+r0+1)/2; while(!(nums[m0]==target&&(m0==nums.size()-1||nums[m0+1]!=target))&&l0<r0) { if(nums[m0]<=target) l0=m0; else { if(r0==m0) r0--; else r0=m0; } m0=(l0+r0+1)/2; } return {m,m0}; }};
0 0
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- 34. Search for a Range
- Rust 中用于编译的注释 Attribute
- JQ attr()里放变量的方法
- 第七章 文件
- 欢迎使用CSDN-markdown编辑器
- typeid详解
- 34. Search for a Range
- PHP应用程序设计
- C/C++ 设计模式:关于使用typeid时要注意的问题
- ios学习之UIWebView(2)
- QT UI更改后运行无变化
- Object.prototype.toString应用和原理探析
- 关于ListView的Adapter,解决ListView滚动后内容重复的问题
- 点击显示一个样式自定义的Popupwindow
- getActionBar().setDisplayHomeAsUpEnabled(true)报空指针(已解决)