题目整体来说不太难,都是用js写的,第二题只有node环境,没有v8的,处理输入还要麻烦一点(不知道node环境环境下acm模式的输入处理有没有好的方法呢)       1. 1、2、1、2 ....    1的左右必须为2才能乘积为偶数。模拟即可,只用考虑2比1多或者1比2多一个的时候,一直1、2、1、2... 模拟下去     let [a, b] = readline().split(' ').map(Number)// a个1, b个2, 1的左右必须是2let ans = new Array(a+b).fill(2);if(b >= a || a === b + 1) {    for(let i = 0; i < 2 * Math.min(b,a); i+=2) ans[i] = 1    if(a === b+1) ans[ans.length-1] = 1;    console.log(ans.join(" "));} else {     console.log(-1);}         2.  好数组,每次挑选k个删除              每次都挑选重复的删除,将删除的置为-1,使用js数组的indexOf,不是第一次出现的且不为-1的就是要删除的   删到全是不重复的,且还剩余删除次数时候就已经是好数组了 const readline = require('readline');const rl = readline.createInterface({    input: process.stdin,    output: process.stdout});let n, k;rl.on('line', function (line) {    let arr = line.split(' ').map(Number);     if(arr.length === 2) [n, k] = arr;    if(arr.length === n) {        for(let i = 0; i < parseInt(n / k); i++) {            //每次删除k个,每次挑选重复的删除            let cnt = k;            for(let j = 0; j < n; j++) {                if(arr [j] !== -1 && arr.indexOf(arr[j]) !== j) {                    arr[j] = -1;                    if(cnt-- === 1) break;                }            }        }        let flag = true;        for(let j = 0; j < n; j++)             if(arr [j] !== -1 && arr.indexOf(arr[j]) !== j) flag = false;        if(flag) console.log("Yes");        else console.log("No")    }});            3. 前k个排列的最小交换次数        找到前k个数里面大于k的,再找到后面数组里面小于等于k的,两两进行交换即可,交换的次数即为两者之间的距离  let [n, k] = readline().split(' ').map(Number);let arr = readline().split(' ').map(Number);let t1 = [], t2 = [];for(let i = 0; i < k; i++) if(arr[i] > k) t1.push(i);for(let j = k; j < n; j++) if(arr[j] <= k) t2.push(j);let ans = 0;for(let idx = 0; idx < t1.length; idx++) ans += (t2[idx] - t1[idx]);console.log(ans);  选择题里有几道没太搞明白的,一个是class静态函数,一个是promise返回值实现了then方法的,下来实际打印一遍发现都猜错了。。。。有无懂哥看下呢  class cls {    static func() {console.log(true);}}cls.func = function() {console.log(false);}cls.func() let thenable = {    then: function(resolve, reject) {        reject(1);    }}let p = new Promise((resolve, reject) => {    resolve(thenable);})p.then(val=>{console.log(val), err => {console.log(err+1)}})      
点赞 3
评论 3
全部评论

相关推荐

头像
08-13 14:20
已编辑
门头沟学院 Java
之前在学校的时候,舍友老是熬夜打游戏,周末还喜欢早起打游戏😅,吵得没法睡到自然醒现在出来实习独居后,想干嘛就干嘛,打游戏刷视频,没有任何顾虑,学习工作,也没有人能打扰我🦌就这个独居爽
天才无敌小土豆:之前在学校 宿舍一个巨瘦的哥们天天熬夜打游戏 呼噜声还巨大 我睡觉超级敏感 天天睡不着 我睡他下铺 半夜踹他床板让他飞起来 就那一会不会打呼噜 然后继续 那段时间我感觉我都yw了 后来我换了个远一点的床铺 买了新的那种可以捏小的耳塞 老子睡觉爽死了 后悔大三才发现这种耳塞 老子yw又好了 天天夜里上厕所都梆硬
独居后,你的生活是更好了...
点赞 评论 收藏
分享
08-06 08:33
四川大学 Java
OPPO官方内推:卧槽!!!啥破公司啊!!!
投递OPPO等公司10个岗位
点赞 评论 收藏
分享
卡bg这么严,不是92真是太难了
能干的三文鱼刷了10...:高学历投他们的多自然就优先92了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务