算发 Leetcode

just_love_tao 2015-01-04 02:31:09
https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/
球计算出ac代码
...全文
125 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
FightForProgrammer 2015-01-04
  • 打赏
  • 举报
回复
上面应该可以解决
FightForProgrammer 2015-01-04
  • 打赏
  • 举报
回复
#include <iostream> #include <vector> #include <cstdio> using namespace std; class Solution { public: int findMin(vector<int> &num) { return assistFindMin(num, 0, num.size() - 1); } private: int assistFindMin(vector<int> &num, int begin, int end) { if(begin == end || num[begin] < num[end]) return num[begin]; int mid = (begin + end) >> 1; if(num[mid] > num[begin]) return assistFindMin(num, mid + 1, end); else if(num[mid] < num[begin]) return assistFindMin(num, begin + 1, mid); else { if(num[mid] > num[end]) return assistFindMin(num, mid + 1, end); else return min(assistFindMin(num, begin, mid), assistFindMin(num, mid + 1, end)); } } int min(int a, int b) { return a <= b ? a : b; } }; int main() { Solution solution; int array1[5] = {1, 2, 3, 4, 5}; int array2[5] = {2, 2, 2, 2, 2}; int array3[7] = {4, 5, 6, 7, 0, 1, 2}; int array4[5] = {1, 0, 1, 1, 1}; vector<int> num1(array1, array1 + sizeof(array1) / sizeof(array1[0])); vector<int> num2(array2, array2 + sizeof(array2) / sizeof(array2[0])); vector<int> num3(array3, array3 + sizeof(array3) / sizeof(array3[0])); vector<int> num4(array4, array4 + sizeof(array4) / sizeof(array4[0]));; printf("test 1: %d\n", solution.findMin(num1)); printf("test 2: %d\n", solution.findMin(num2)); printf("test 3: %d\n", solution.findMin(num3)); printf("test 4: %d\n", solution.findMin(num4)); return 0; }

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧