牛客网刷题3(2道题)

8.最小的K个数

题目链接
https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf?tpId=13&&tqId=11182&rp=3&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking
题目描述
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
题目分析

  1. sort数值排序。
  2. 按顺序输出最小的K个数。
  3. 若K大于数组长度,返回空数组。
function GetLeastNumbers_Solution(input, k)
{
    var res = input.sort( function(a,b){
        return a - b;
    });
    return res.length>=k?res.slice(0,k):[];
}

9.n个数里出现次数大于等于n/2的数

题目链接
https://www.nowcoder.com/practice/eac8c671a0c345b38aa0c07aba40097b
题目描述
输入n个整数,输出出现次数大于等于数组长度一半的数。
输入描述
每个测试输入包含 n个空格分割的n个整数,n不超过100,其中有一个整数出现次数大于等于n/2。
输出描述
输出出现次数大于等于n/2的数。
示例1
输入
3 9 3 2 5 6 7 3 2 3 3 3
输出
3
题目分析

  1. 有一个整数出现次数大于等于n/2,那么排序后数组中间的数必定是这个整数。
  2. sort数值排序。
  3. 输出中间值。
var input = readline();
var res = input.trim().split(" ");
var result = res.sort(function(a,b){
    return a-b;
});
var len = parseInt((result.length-1)/2);
console.log(result[len]);
发布了22 篇原创文章 · 获赞 0 · 访问量 374

猜你喜欢

转载自blog.csdn.net/weixin_41796393/article/details/104164085