1、数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
public class Solution {
     public int MoreThanHalfNum_Solution(int [] array) {
         int len=array.length;
         if(len<1){
             return 0;
         }
         int count=0;
         Arrays.sort(array);
         int num=array[len/2];
         for(int i=0;i<len;i++){
             if(num==array[i])
                 count++;
         }
         return (count >(len/2))?num:0;
     }
 }
2、输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
# -*- coding:utf-8 -*-
 class Solution:
     def GetLeastNumbers_Solution(self, tinput, k):
         # write code here
         if tinput == [] or k > len(tinput):
             return []
         tinput.sort()
         return tinput[: k]

京公网安备 11010502036488号