zoukankan      html  css  js  c++  java
  • 牛客网刷题31(2道题)

    57.整数的二进制数表达中有多少个1

    题目链接

    https://www.nowcoder.com/practice/05b5d4f3a2a944fd9f33c47d13fad271?tpId=101&&tqId=33213&rp=5&ru=/activity/oj&qru=/ta/programmer-code-interview-guide/question-ranking

    题目描述

    给定一个32位整数n,返回该整数二进制形式1的个数。

    输入描述:

    输入一个整数,代表n,n为32为整数。

    输出描述:

    输出一个整数,代表n的二进制表达式中1的个数。
    示例1

    输入

    1

    输出

    1
    示例2

    输入

    -2

    输出

    31

    备注:

    时间复杂度O(1)O(1),额外空间复杂度O(1)O(1)。

    重难点

    1. 进制转换
    2. 位运算

    题目分析

    1. 把输入的数据转成二进制字符串。
    2. 把转换后的二进制字符串与1做&运算,计算1的个数。
    3. 把n右移1位,重复步骤2, 共执行32次。
    var input;
    while(input = readline()){
        var num = input.toString(2);
        var res = 0;
        let i = 32;
        while(i-- > 0){
            res += (num & 1);
            num >>= 1;
        }
       console.log(res);
    }
    

    58.找到无序数组中最小的k个数

    题目链接

    https://www.nowcoder.com/practice/b3c88bb9acda4d0cb6a2f50e45739332?tpId=101&&tqId=33220&rp=5&ru=/activity/oj&qru=/ta/programmer-code-interview-guide/question-ranking

    题目描述

    给定一个整型数组arr,找到其中最小的k个数。

    输入描述:

    输入包含两行,第一行包含两个整数n和k(1≤k≤n≤10^5),代表数组arr的长度第二行包含n个整数,代表数组arr(1≤arr[i]≤10^9)。

    输出描述:

    输出包含一行,k个整数,代表数组中最小的k个整数。
    示例1

    输入

    5 3
    3 5 1 5 2

    输出

    3 1 2

    备注:

    时间复杂度O(nlog_2k)和O(n)O(nlog2k)O(n),额外空间复杂度O(n)O(n)。

    重难点

    1. js获取多行输入。
    2. 字符串分割
    3. sort数值排序。

    题目分析

    1. 获取输入的多行数据;
    2. 用" "分割成两行数据;
    3. 分别分离出n,k,arr;
    4. sort数值排序;
    5. 找出最小的k个整数。
    var input;
    var str ='';
    while(input = readline()){
          str += input + "
    ";
    }
    var num = str.split('
    ');
    let n = num[0].split(' ')[0];
    let k = num[0].split(' ')[1];
    let arr = num[1].split(' ');
    arr.sort(function(a,b){
        return a-b;
    });
    let res = [];
    for(let i=0;i<k;i++){
        res += arr[i]+' ';
    }
    print(res);
    

    PS:这道题给出的输入输出示例中虽然是按输入顺序输出最小k个数,即:3 1 2,我实际的输出是:1 2 3,但是能通过!!!!

     

     
  • 相关阅读:
    2017-2018-1 20145237、20155205、20155218实验一 开发环境的熟悉
    作业三总结
    作业二总结
    作业总结1
    自我介绍
    计科16-4刘悦
    第九次作业
    作业八
    作业七
    作业六
  • 原文地址:https://www.cnblogs.com/liu-xin1995/p/12396452.html
Copyright © 2011-2022 走看看