代码如下
int Min(int a, int b) { // 定义函数 return a < b ? a : b; } int findMin(int* nums, int numsSize){ int i; int min = 100000001; // (2)如果定义最大值则max设为0 for(i = 0; i < numsSize; ++i) min = Min(min, nums[i]); // (3) return min; }
https://leetcode-cn.com/problems/max-consecutive-ones/
int findMaxConsecutiveOnes(int* nums, int numsSize){ int count=0; int max=0; for(int i=0;i<numsSize;i++){ if(nums[i]==1){ count+=1; if(count>max){ //求最大 max=count; //每次循环的最大都等于count } }else count=0; //这个条件比较必要 }return max; }
https://leetcode-cn.com/problems/maximum-product-of-two-elements-in-an-array/
int maxProduct(int* nums, int numsSize){ int max=0; //直接暴力循环 for(int i=0;i<numsSize-1;i++) //注意i和j的取值范围既可以 { for(int j=i+1;j<numsSize;j++) //注意j=i+1 { if(((nums[i]-1)*(nums[j]-1))>max) max=(nums[i]-1)*(nums[j]-1); } }
int findMin(int* nums, int numsSize){ for(int i=1; i < numsSize; i++){ //遍历数组,从第二个元素开始 if(nums[i] < nums[i-1]){ //若该元素小于其前一个元素则说明它为最小元素 return nums[i]; //返回nums[i] } } return nums[0]; //无符合元素则说明第一个元素为最小元素 }
https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array-ii/
int findMin(int* nums, int numsSize){ int min=nums[0]; for(int i=0;i<numsSize;i++){ if(min>nums[i])min=nums[i]; }return min; }