明明的随机数

题目描述javascript

明明想在学校中请一些同窗一块儿作一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其他相同的数去掉,不一样的数对应着不一样的学生的学号。而后再把这些数从小到大排序,按照排好的顺序去找同窗作调查。请你协助明明完成“去重”与“排序”的工做(同一个测试用例里可能会有多组数据,但愿你们能正确处理)。java

Input Param

n               输入随机数的个数

inputArray      n个随机整数组成的数组api

Return Value

OutputArray    输出处理后的随机整数数组

注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。

样例输入解释:

样例有两组测试

第一组是3个数字,分别是:2,2,1。

第二组是11个数字,分别是:10,20,40,32,67,40,20,89,300,400,15。函数

输入描述:测试

输入多行,先输入随机整数的个数,再输入相应个数的整数

输出描述:code

返回多行,处理后的结果

示例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

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

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

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

arr.push(readline());

}

var sortArr = arr.sort();

for(var j=0; 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));

【中级】单词倒排

题目描述

对字符串中的全部单词进行倒排。

说明:

一、每一个单词是以26个大写或小写英文字母构成;

二、非构成单词的字符均视为单词间隔符;

三、要求倒排后的单词间隔符以一个空格表示;若是原字符串中相邻单词间有多个间隔符时,倒排转换后也只容许出现一个空格间隔符;

四、每一个单词最长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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐