LeetCode笔记汇总
题目
思路
- 直接遍历数组,输出最小值即可
先定义一个ans,初始值为Integer.MAX_VALUE,然后在数组中寻找小于ans的值并替换
遍历完之后返回ans - 因为原数组时升序排列的,故数组中左边的元素一定比右边的元素小。因此可以在数组中定义一个指针,如果这个指针左边的值小于右边的值,就返回右边的值。如果遍历完之后还没有return,则返回第一个元素
代码
class Solution {
public int findMin(int[] nums) {
int ans = Integer.MAX_VALUE;
for(int i : nums) ans = ans < i ? ans : i;
return ans;
}
}
class Solution {
public int findMin(int[] nums) {
for(int i = 0; i < nums.length - 1; i++){
if(nums[i] > nums[i+1]) return nums[i+1];
}
return nums[0];
}
}