共计 4126 个字符,预计需要花费 11 分钟才能阅读完成。
明明的随机数
题目形容
明明想在学校中请一些同学一起做一项问卷调查,为了试验的客观性,他先用计算机生成了 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