LeetCode(算法)- 154. 寻找旋转排序数组中的最小值 II

网友投稿 522 2022-11-14

LeetCode(算法)- 154. 寻找旋转排序数组中的最小值 II

LeetCode(算法)- 154. 寻找旋转排序数组中的最小值 II

题目大意:略

解题思路

相关企业

字节跳动亚马逊(Amazon)

AC 代码

Java

// 解决方案(1)class Solution { public int findMin(int[] nums) { int min = Math.min(nums[0], nums[nums.length - 1]); for (int i = 1; i < nums.length - 1; i++) { if (nums[i] >= nums[i - 1] && nums[i] > nums[i + 1]) { min = nums[i + 1]; break; } else if (nums[i] < nums[i - 1]) { min = nums[i]; break; } } return min; }} // 解决方案(2)class Solution { public int findMin(int[] nums) { int i = 0, j = nums.length - 1; while (i < j) { int m = (i + j) / 2; if (nums[m] > nums[j]) i = m + 1; else if (nums[m] < nums[j]) j = m; else { int x = i; for(int k = i + 1; k < j; k++) { if(nums[k] < nums[x]) x = k; } return nums[x]; } } return nums[i]; }}

C++

class Solution {public: int findMin(vector& nums) { int i = 0, j = nums.size() - 1; while (i < j) { int m = (i + j) / 2; if (nums[m] > nums[j]) i = m + 1; else if (nums[m] < nums[j]) j = m; else { int x = i; for(int k = i + 1; k < j; k++) { if(nums[k] < nums[x]) x = k; } return nums[x]; } } return nums[i]; }};

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Android】textureToBitmap
下一篇:基于SpringMVC实现网页登录拦截
相关文章

 发表评论

暂时没有评论,来抢沙发吧~