明明的随机数
题目描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。
Input Param
n 输入随机数的个数
inputArray n个随机整数组成的数组
Return Value
OutputArray 输出处理后的随机整数
注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。
样例输入解释:
样例有两组测试
第一组是3个数字,分别是:2,2,1。
第二组是11个数字,分别是:10,20,40,32,67,40,20,89,300,400,15。
输入描述:
输入多行,先输入随机整数的个数,再输入相应个数的整数
输出描述:
返回多行,处理后的结果
示例1
输入
3
2
2
1
11
10
20
40
32
67
40
20
89
300
400
15
输出
1
2
10
15
20
32
40
67
89
300
400
通过代码
while(n=parseInt(readline())) {
var arr = [];
while(n--) {
var value = parseInt(readline());
arr[value] = 1;
}
arr.forEach(function(el, index) {
if (el === 1) {
console.log(index);
}
});
}
字符串分割
题目描述
- 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
- 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
示例1
输入
abc
123456789
输出
abc00000
12345678
90000000
通过代码
while(str=readline()) {
while(str.length > 8) {
console.log(str.substr(0, 8));
str = str.substr(8);
}
if (str.length < 9) {
console.log((str + '00000000').substr(0, 8));
}
}
进制转换
题目描述
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入)
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
示例1
输入
0xA
输出
10
通过代码
while(str = readline()) {
console.log(parseInt(str, 16));
}
如果十进制转十六进制,使用str.toString(16)
质数因子
题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(如180的质因子为2 2 3 3 5 )
最后一个数后面也要有空格
详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
输入描述:
输入一个long型整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。
示例1
输入
180
输出
2 2 3 3 5
通过代码
var num = parseInt(readline());
var res = '';
for (var i=2; i<Math.sqrt(num); i++) {
while (num%i == 0) {
num = num / i;
res += i + ' ';
}
}
if (num > 1) {
res += num + ' ';
}
console.log(res)
取近似值(四舍五入)
题目描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
示例1
输入
5.5
输出
6
通过代码
var num = readline();
console.log(Math.round(num));
合并表记录
题目描述
数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)
示例1
输入
4
0 1
0 2
1 2
3 4
输出
0 3
1 2
3 4
通过代码
while(n=readline()) {
var obj = {};
for (var i=0; i<n; i++) {
var lineArr = readline().split(' ');
if (obj[lineArr[0]]) {
obj[lineArr[0]] += parseInt(lineArr[1]);
} else {
obj[lineArr[0]] = parseInt(lineArr[1]);
}
}
for (index in obj) {
console.log(index + ' ' + obj[index]);
}
}
字符个数统计
题目描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。
输入描述:
输入N个字符,字符在ACSII码范围内。
输出描述:
输出范围在(0~127)字符的个数。
示例1
输入
abcc
输出
3
通过代码
while (line = readline()) {
var res = '';
var arr = line.split('');
for (var i=0; i<arr.length; i++) {
if (res.indexOf(arr[i]) == -1) {
res += arr[i];
}
}
console.log(res.length);
}
字符串反转
题目描述
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
输入描述:
输入N个字符
输出描述:
输出该字符串反转后的字符串
示例1
输入
abcd
输出
dcba
通过代码
var str = readline();
var reversedArr = str.split('').reverse();
console.log(reversedArr.join(''));
句子逆序
题目描述
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
输入描述:
将一个英文语句以单词为单位逆序排放。
输出描述:
得到逆序的句子
示例1
输入
I am a boy
输出
boy a am I
通过代码
var str = readline();
var reversedArr = str.split(' ').reverse();
console.log(reversedArr.join(' '));
字串的连接最长路径查找(按照字典序排列字符串)
题目描述
给定n个字符串,请对n个字符串按照字典序排列。
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
示例1
输入
9
cap
to
cat
card
two
too
up
boat
boot
输出
boat
boot
cap
card
cat
to
too
two
up
通过代码
while (n = readline()) {
var arr = [];
for(var i=0; i<n; i++) {
arr.push(readline());
}
var sortArr = arr.sort();
for(var j=0; j<sortArr.length; j++) {
console.log(sortArr[j]);
}
}
求解立方根
题目描述
•计算一个数字的立方根,不使用库函数
详细描述:
•接口说明
原型:
public static double getCubeRoot(double input)
输入:double 待求解参数
返回值:double 输入参数的立方根,保留一位小数
输入描述:
待求解参数 double类型
输出描述:
输入参数的立方根 也是double类型
示例1
输入
216
输出
6.0
通过代码
var num = parseInt(readline());
var res = Math.pow(num, 1/3);
console.log((Math.round(res*10)/10).toFixed(1));
【中级】单词倒排
题目描述
对字符串中的所有单词进行倒排。
说明:
1、每个单词是以26个大写或小写英文字母构成;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
输入描述:
输入一行以空格来分隔的句子
输出描述:
输出句子的逆序
示例1
输入
I am a student
输出
student a am I
通过代码
var line = readline();
var words = line.match(/[A-Za-z]+/g);
var reservedArr = words.reverse();
console.log(reservedArr.join(' '));
统计大写字母个数
题目描述
找出给定字符串中大写字符(即'A'-'Z')的个数
接口说明
原型:int CalcCapital(String str);
返回值:int
输入描述:
输入一个String数据
输出描述:
输出string中大写字母的个数
示例1
输入
add123#$%#%#O
输出
1
通过代码
while (line = readline()) {
var res = line.match(/[A-Z]/g);
console.log(res.length);
}
AAAAAA
题目描述
AAAAAAA
输入描述:
AAAAAA
输出描述:
AAAAAA
示例1
输入
AAAAAA
输出
AAAAAA
通过代码
AAAAAA
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。