js 习题 3

文章目录

  • 绪论
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10 求最长公共后缀
  • 11
  • 12
  • 13 最大公约数
  • 14
  • 15
  • 结语

绪论

『虽有遗憾,绝不后悔。』—— 「古剑奇谭」

1

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});process.stdin.on("end",function(){let X=buf.split("\n").map(x=>{return parseInt(x)});for(let i=0;i<10;i++){if(X[i]<=0){X[i]=1;}console.log(`X[${i}] = ${X[i]}`);}
});

2

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});process.stdin.on("end",function(){let lines=buf.split("\n");let L=parseInt(lines[0]);let C=lines[1];let d=[];for(let i=0;i<12;i++){d.push(lines[i+2].split(" ").map(x=>{return parseFloat(x)}));}let sum=0;for(let i=0;i<12;i++){sum+=d[L][i];}if(C==="M"){sum/=12;}console.log(`${sum.toFixed(1)}`);
});

js 原来每一行后面都可以不加分号

3

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});process.stdin.on("end",function(){let ns=buf.split("\n").map(x=>{return parseInt(x)});for(let n of ns){if(n===0){break;}for(let i=0;i<n;i++){let lines="";for(let j=0;j<n;j++){lines+=`${Math.min(i+1,n-i,j+1,n-j)} `;}console.log(lines);}console.log();}
});

4

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});process.stdin.on("end",function(){let line=buf.split("\n");let c=line[0];let d=[];for(let i=0;i<12;i++){d.push(line[i+1].split(" ").map(x=>{return parseFloat(x)}));}let sum=0;let cnt=0;for(let i=0;i<12;i++){for(let j=0;j<=10-i;j++){sum+=d[i][j];cnt++;}}if(c==="M"){sum/=cnt;}console.log(`${sum.toFixed(1)}`);
});

5

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});process.stdin.on("end",function(){let [n,m]=buf.split(" ").map(x=>{return parseInt(x)});let res=[];for(let i=0;i<n;i++){res[i]=[];for(let j=0;j<m;j++){res[i].push(0);}}let dx=[-1,0,1,0];let dy=[0,1,0,-1];let x=0,y=0,d=1;for(let i=1;i<=n*m;i++){res[x][y]=i;let a=x+dx[d],b=y+dy[d];if(a<0||b<0||a>=n||b>=m||res[a][b]){d=(d+1)%4;a=x+dx[d],b=y+dy[d];}x=a,y=b;}for(let i=0;i<n;i++){let line="";for(let j=0;j<m;j++){line+=`${res[i][j]} `;}console.log(line);}
});

6

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});process.stdin.on("end",function(){let str=buf.split("\n")[0];console.log(str.length);
});

7

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});process.stdin.on("end",function(){let str=buf.split('\n')[0];let cnt={};for(let s of str){if(s in cnt){cnt[s]++;}else{cnt[s]=1;}}for(let c of str){if(cnt[c]===1){console.log(c);return;}}console.log("no");
});

8

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});process.stdin.on("end",function(){let [str,a,b]=buf.split('\n');let ans="";let words=str.split(" ");for(let w of words){if(w===a){ans+=b+" ";}else{ans+=w+" ";}}console.log(ans);
});

9

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});process.stdin.on("end",function(){let words=buf.split("\n")[0].split(" ");words.reverse();let ans="";for(let word of words){ans+=word+" ";}console.log(ans);
});

10 求最长公共后缀

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});let reverse=(str)=>{//自己定义一个反转字符串的函数return str.split('').reverse().join('');//表示把一个字符串先拆分成数组,//逆序,再拼接成字符串
}process.stdin.on("end",function(){let lines=buf.split("\n");//去掉回车for(let i=0;i<lines.length;){//把输入分成多组let n=parseInt(lines[i]);//求这一组测试数据有多少个单词if(n===0){break;}//结束输入i++;//跳过 nfor(let j=0;j<n;j++){//处理的是从第一个单词到第 n 个单词lines[i+j]=reverse(lines[i+j]);//调用自己定义的函数//反转这个字符串}let res="";//记录最长公共前缀(本来是求最长公共后缀)//现在逆序之后就是求最长公共前缀了for(let k=0;k<lines[i].length;k++){let is_same=true;//判断当前循环的对应字母是不是相等的for(let j=1;j<n;j++){//从下一个单词的对应字母开始比较//比较的是每一个单词的对应位置的字母,只比较一个字母if(lines[i+j][k]!==lines[i][k]){is_same=false;//标记为不相等,表示最长的公共前缀到这里就结束了break;//跳出循环}}if(is_same){res+=lines[i][k];//把答案加上当前的字母}else{break;//跳出循环}}i+=n;//每一次要跳过 n 个单词console.log(reverse(res));//前面把字符串逆序了,现在需要还原}
});

11

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});let reverse=(str)=>{//自己定义一个反转字符串的函数return str.split('').reverse().join('');//表示把一个字符串先拆分成数组,//逆序,再拼接成字符串
}let max=(x,y)=>{return x>y?x:y;
}process.stdin.on("end",function(){let [x,y]=buf.split(" ").map(x=>{return parseInt(x)});console.log(max(x,y));
});

12

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});let print2D=(a,row,col)=>{//定义一个函数,数组,行数,列数for(let i=0;i<row;i++){console.log(a[i].join(" "));//把每一行数组按照空格连接成字符串}
}process.stdin.on("end",function(){let lines=buf.split("\n");//按换行分隔开let [n,m]=lines[0].split(" ").map(x=>{return parseInt(x)});//把行数和列数提取出来let a=[];//数组for(let i=0;i<n;i++){//遍历每一行a.push(lines[i+1].split(" ").map(x=>{return parseInt(x)}));//从第一行开始,因为第 0 行是行数和列数//把每一行的数字按照空格隔开,插入到数组里面}print2D(a,n,m);//调用自己定义的函数});

13 最大公约数

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});let gcd=(a,b)=>{return b?gcd(b,a%b):a;
}process.stdin.on("end",function(){let [a,b]=buf.split(" ").map(x=>{return parseInt(x)});console.log(gcd(a,b));});

14

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});let bubble_sort=(q,l,r)=>{for(let i=r;i>l;i--){for(let j=l;j<i;j++){if(q[j]>q[j+1]){[q[j],q[j+1]]=[q[j+1],q[j]];}}}
}process.stdin.on("end",function(){let lines=buf.split("\n");let [n,l,r]=lines[0].split(" ").map(x=>{return parseInt(x)});let q=lines[1].split(" ").map(x=>{return parseInt(x)});bubble_sort(q,l,r);console.log(q.join(" "));
});

15

let buf="";process.stdin.on("readable",function(){let chunk=process.stdin.read();if(chunk){buf+=chunk.toString();}
});let path=[];
let st=[];let dfs=(u,n)=>{if(u===n){console.log(path.join(" "));}else{for(let i=1;i<=n;i++){if(!st[i]){path.push(i);st[i]=true;dfs(u+1,n);st[i]=undefined;path.pop();}}}
};process.stdin.on("end",function(){let n=parseInt(buf);dfs(0,n);
});

结语

『一点星光,在心上就能反射出太阳。』—— 学而思「星光效应」

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP/1.1、1.2、1.3详细信息和主要区别

HTTP&#xff08;超文本传输协议&#xff09;是一种用于传输超文本&#xff08;例如网页&#xff09;的应用层协议。HTTP/1.1 是当前最广泛使用的版本&#xff0c;而 HTTP/2 和 HTTP/3 是其后续版本&#xff0c;旨在提高性能和效率。以下是这些版本的详细信息和主要区别 HTTP/…

从零开始创建vue3项目——包含项目初始化、element-plus、eslint、axios、router、pinia、echarts

项目启动 初始化vue3项目 这里建议先下载pnpm&#xff0c;下载速度更快&#xff0c;如果还没下载可以使用 npm install -g pnpm 如果遇到报错问题&#xff0c;如下 可以在命令行输入下面的指令以切换到淘宝镜像源 npm config set registry https://registry.npm.taobao.org…

2024最佳游戏引擎排行

游戏产业几十年来一直是一个大生意&#xff0c;而且发展势头迅猛。据估计&#xff0c;全球游戏市场在 2025 年每年将达到 5031.4 亿美元&#xff0c;2023 年为 3960 亿美元。 尽管如今有市面上有各种各样的解决方案&#xff0c;但游戏开发人员和管理者在选择适合他们需求的游戏…

LINUX操作系统安全

一、概述内容 操作系统负责计算机系统的资产管理&#xff0c;支撑和控制各种应用程序运行&#xff0c;为用户提供管理计算机系统管理接口。操作系统也是构成网络信息系统的核心关键组件&#xff0c;其安全可靠性决定了计算机系统的安全性和可靠性。 操作系统安全是指满足安全…

kettle从入门到精通 第八十课 ETL之kettle kettle中的json对象字段写入postgresql中的json字段

场景&#xff1a;源数据库表为mysql的其中有json字段&#xff0c;通过kettle 查询出来 插入到目标数据库 postgresql中&#xff0c;对应的表中也有json字段。。但是报错&#xff0c;提示kettle查询出来是varchar的的字段&#xff0c;无法插入到目标数据库中。 1、创建测试表。 …

golang设置远程调试

1. 目标机器构建安装dlv https://github.com/go-delve/delve go build之后将编译号的dlv命令路径添加到PATH里 2. 目标机器下载源代码并且运行dlv dlv debug --headless --listen:2345 --api-version2 --accept-multiclient 3.本机添加go remote 4. 设置断点即可

披荆斩棘:Python开发者在市场低迷期快速找到工作的策略

披荆斩棘&#xff1a;Python开发者在市场低迷期快速找到工作的策略 在瞬息万变的科技领域&#xff0c;市场低迷期对各个领域的专业人士来说都充满了挑战。Python开发者以其灵活性和专业性著称&#xff0c;但也无法完全避免经济波动的影响。然而&#xff0c;通过采取正确的策略…

Cesium高性能渲染海量矢量建筑

0、数据输入为类似Geojson的压缩文件和纹理图片&#xff0c;基于DrawCommand命令绘制&#xff1b; 1、自定义建筑几何&#xff0c;包括顶点、法线、纹理等&#xff1b; 2、自定义纹理贴图&#xff0c;包括按建筑高度贴图、mipmap多级纹理&#xff1b; 3、自定义批处理表&…

PHP商城案例

http://www.e9933.com/

使用DuiLib进行UI开发的虚函数解析及控件绑定、响应与消息处理

DuiLib是一个开源的基于DirectUI思想的Windows界面库&#xff0c;提供了灵活且易用的UI界面开发能力。在使用DuiLib进行开发时&#xff0c;我们常常会遇到一些虚函数&#xff0c;它们在不同的阶段被调用&#xff0c;以完成各种初始化和消息处理工作。本文将详细介绍DuiLib中的一…

DVWA中命令执行漏洞细说

在攻击中&#xff0c;命令注入是比较常见的方式&#xff0c;今天我们细说在软件开发中如何避免命令执行漏洞 我们通过DVWA中不同的安全等级来细说命令执行漏洞 1、先调整DVWA的安全等级为Lower,调整等级在DVWA Security页面调整 2、在Command Injection页面输入127.0.0.1&…

手把手教你入门vue+springboot开发(十)--springboot集成WebSocket

文章目录 前言一、springboot集成WebSocket二、后端代码实现1.WebSocket服务端实现2.业务逻辑实现3.ObjectMapper的作用三、前端代码实现四、postman调试总结前言 在B/S开发的有些业务场景中后端需要向前端上报一些事件消息,比如某个用户登录或者退出时,后端需要将此事件通知…

线程安全的艺术:在Perl中实现线程安全的编程

线程安全的艺术&#xff1a;在Perl中实现线程安全的编程 在多线程编程中&#xff0c;确保程序的线程安全性是至关重要的。Perl&#xff0c;作为一种支持多线程的高级编程语言&#xff0c;提供了多种机制来帮助开发者编写线程安全的代码。本文将深入探讨如何在Perl中实现线程安…

AI在Facebook的应用:预见智能化社交的新前景

在数字化时代&#xff0c;社交媒体平台已成为我们生活的重要组成部分&#xff0c;而人工智能&#xff08;AI&#xff09;的快速发展正推动着这些平台向更智能、更个性化的方向发展。Facebook&#xff0c;作为全球最大的社交网络平台之一&#xff0c;正不断探索和应用AI技术&…

mysql面试(七)

前言 本章节列出了mysql在增删改查的时候&#xff0c;分别会涉及到哪些锁类型&#xff0c;又是如何交互的。 这个章节也是mysql面试基础系列的最后一章&#xff0c;后面准备更新redis数据类型和分布式锁相关问题。如果各位看官有什么问题的话&#xff0c;可以留言。 锁 之前…

【MySQL进阶之路 | 高级篇】MVCC三剑客:隐藏字段,Undo Log,ReadView

1. 再谈隔离级别 我们知道事务有四个隔离级别&#xff0c;可能存在三种并发问题&#xff1a; 在MySQL中&#xff0c;默认的隔离级别是可重复读&#xff0c;可以解决脏读和不可重复读的问题&#xff0c;如果仅从定义的角度来看&#xff0c;它并不能解决幻读问题。如果我们想要解…

C++设计模式PIMPL模式

Pimpl是“Pointer to implementation”的缩写&#xff0c;它是一种常用的C设计模式。这种模式的核心思想是将类的实现细节从其接口中分离出来。想象一下&#xff0c;我们生活的世界中充满了这种分离&#xff1a;我们不需要知道电视是如何工作的&#xff0c;只需要知道如何使用遥…

2024年jupyter notebook如何复制单元格cell输出的图片

背景 之前使用jupyter notebook复制图片一直是正常&#xff0c;右键就行&#xff0c;可以找到复制图片或者另存为的选项。 但是最近重新安装了anaconda&#xff0c;发现jupyter notebook升级了&#xff0c;和原来的界面不一样了。 如果有一个图片&#xff0c;我们右键&#x…

【Linux】—管理、设置防火墙规则(firewalld详解)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…