认真搬运的小码农 level
获赞
0
粉丝
1
关注
5
看过 TA
50
南京信息工程大学
2024
电气工程师
IP属地:马来西亚
代码搬运家
私信
关注
将数组中的每个元素的值,存入一个新的自定义的数组,我定义的是count[100001]。/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * *  * @param numbers int整型一维数组  * @param numbersLen int numbers数组长度 * @return int整型 */int MoreThanHalfNum_Solution(int* numbers, int numbersLen ) {    // write code here        if(!numbers)                return -1;        int count[100001];        int i,j;        for(i=0;i            {                count[numbers[i]]++;             }//check every value exist number        for(i=0;i    { if(count[i]>numbersLen/2)                return i;//judge whether  exist number is above numbersLen/2    }return 0;}
0 点赞 评论 收藏
转发
二分法,判断旋转数组的头和尾:check start end:/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * *  * @param nums int整型一维数组  * @param numsLen int nums数组长度 * @return int整型 */int minNumberInRotateArray(int *nums,int numsLen){    int start=0,end=numsLen-1.mid; while(end-start>1)        mid=(end+start+1)/2;        if(nums[mid]                end=mid; else if(nums[mid]>nums[end])                start=mid;//put  the biggest in start,the smallest in end        else{ if(nums[start]>=nums[end])//check start and end                        start++;                else                        end--;                                        }return nums[start]>nums[end]?nums[end]:nums[start];}
0 点赞 评论 收藏
转发
牛客网
牛客企业服务