leetcode 33. Search in Rotated Sorted Array
来源:互联网 发布:java agent 技术 编辑:程序博客网 时间:2024/06/06 04:47
leetcode 33. Search in Rotated Sorted Array
class Solution {public: int search(vector<int>& nums, int target) { if(nums.size()<1) return -1; if(nums.size()<=6){ for(int i=0;i<nums.size();i++){ if(nums[i]==target){ return i; } } } int re =0; re = thirdSearchPos(nums,0,nums.size() - 1,target); return re; } int thirdSearchPos(vector<int>& nums,int left, int right,int target) { if(right - left<=6){ for(int i=0;i<nums.size();i++){ if(nums[i]==target){ return i; } } return -1; } int firstThird = left + (right - left)/3; int secondThird = firstThird + (right - left)/3; if(target==nums[left]) return left; if(target==nums[firstThird]) return firstThird; if(target==nums[secondThird]) return secondThird; if(target==nums[right]) return right; int re = -1; if(nums[left]<=nums[firstThird] && target>nums[left] && target<nums[firstThird]){ re = binarySearchPos(nums,left,firstThird,target); }else if(target>nums[left] && target<nums[firstThird]){ re = thirdSearchPos(nums,left,firstThird,target); } if(re!=-1) return re; if(nums[secondThird]<=nums[right] && target>nums[secondThird] && target<nums[right]){ re = binarySearchPos(nums,secondThird,right,target); }else if(target>nums[secondThird] && target<nums[right]){ re = thirdSearchPos(nums,secondThird,right, target); } if(re!=-1) return re; return thirdSearchPos(nums,firstThird,secondThird, target); } int binarySearchPos(vector<int>& nums1, int start, int end, int num) { int left = start, right = end, medium = 0; while (left<right) { medium = left + (right - left) / 2; if (nums1[medium] - num >0) { right = medium; } else if (num - nums1[medium] >0) { left = medium + 1; } else { return medium; } } int left1 = -1; if (nums1[left] == num) left1 = left; return left1; }};
阅读全文
0 0
- [LeetCode]33.Search in Rotated Sorted Array
- LeetCode --- 33. Search in Rotated Sorted Array
- LeetCode 33.Search in Rotated Sorted Array
- [Leetcode] 33. Search in Rotated Sorted Array
- Leetcode-33.Search in Rotated Sorted Array.
- [leetcode] 33. Search in Rotated Sorted Array
- Leetcode 33. Search in Rotated Sorted Array
- [LeetCode]33. Search in Rotated Sorted Array
- leetcode 33. Search in Rotated Sorted Array
- LeetCode *** 33. Search in Rotated Sorted Array
- LeetCode - 33. Search in Rotated Sorted Array
- LeetCode 33. Search in Rotated Sorted Array
- leetcode 33. Search in Rotated Sorted Array
- leetcode 33.Search in Rotated Sorted Array
- [leetcode]33. Search in Rotated Sorted Array
- leetcode 33. Search in Rotated Sorted Array
- leetcode 33. Search in Rotated Sorted Array
- LeetCode-33.Search in Rotated Sorted Array
- 【poj1185】炮兵阵地——状压dp
- 怎么样才能买到廉价机票
- 最大子序列的和
- 从接口测试接触JMeter第一步
- SpringBoot(一)
- leetcode 33. Search in Rotated Sorted Array
- Nginx配置详解
- 秋招总结
- 流畅的Python学习笔记之第一章 Python数据模型
- 满城尽带黄金甲
- CString与char *互转总结
- Java 使用Spring WebSocket 实现linux tailf 实时日志显示
- zookeeper的WEB客户端zkui使用
- hihoCoder-----最短游览路线