关注
谢谢你们的回复,若有空闲时间,希望你们能帮忙看看,谢谢~
class Solution {
public:
int minNumberInRotateArray(vector<int> rotateArray)
{
if (rotateArray.size() == 0) { return 0; }
pStart = 0;
pEnd = rotateArray.size() - 1;
pMid = (pStart + pEnd) / 2;
if (rotateArray[pStart]<rotateArray[pMid] &&
rotateArray[pMid]<rotateArray[pEnd])
{
return rotateArray[pStart];
}
else if (rotateArray[pStart] == rotateArray[pMid]
&& rotateArray[pMid] == rotateArray[pEnd])
{
return findMinNumberTraversal(rotateArray);
}
else
{
return findMinNumber(rotateArray);
}
}
private:
int findMinNumberTraversal(vector<int> array)
{
int minNumber = array[0];
for (int i = 0; i<array.size(); i++)
{
minNumber = min(minNumber, array[i]);
}
return minNumber;
}
int findMinNumber(vector<int> array)
{
while (pEnd>pStart)
{
if (array[pStart]<array[pMid] &&
array[pEnd]<array[pMid])
{
pStart = pMid;
}
else if (array[pStart]>array[pMid])
{
pEnd = pMid;
}
pMid = (pStart + pEnd) / 2;
if (pEnd == pStart + 1) { return array[pEnd]; }
}
}
int pStart;
int pEnd;
int pMid;
};
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
384460次浏览 7645人参与
# 应届生初入职场,求建议 #
22038次浏览 537人参与
# 晒一晒我的offer #
2803813次浏览 49746人参与
# 在国企工作的人,躺平了吗? #
71810次浏览 868人参与
# 简历中的项目经历要怎么写 #
378686次浏览 6367人参与
# 非技术岗薪资爆料 #
7023次浏览 135人参与
# 你更愿意参加线上面试还是线下面试? #
6567次浏览 91人参与
# 非技术薪资爆料 #
63792次浏览 954人参与
# 华为求职进展汇总 #
439202次浏览 4417人参与
# 第一次面试 #
15815次浏览 240人参与
# 租房前辈的忠告 #
20890次浏览 1656人参与
# 应届生应该先就业还是先择业 #
12149次浏览 114人参与
# 安利/避雷我的岗位 #
122419次浏览 2752人参与
# 来聊聊机械薪资天花板是哪家 #
20970次浏览 166人参与
# 机械人怎么评价今年的华为 #
54155次浏览 444人参与
# 谈薪时HR压价该怎么应对 #
33076次浏览 204人参与
# 通信硬件薪资爆料 #
145535次浏览 1090人参与
# 毕业租房也有小确幸 #
19881次浏览 1253人参与
# 数据人offer决赛圈怎么选 #
36675次浏览 659人参与
# 正在实习的你,有转正机会吗? #
83442次浏览 866人参与