HJ1 字符串最后一個單詞的長度
描述
計算字符串最后一個單詞的長度扑媚,單詞以空格隔開饵筑,字符串長度小于5000埃篓。
輸入描述:
輸入一行,代表要計算的字符串根资,非空架专,長度小于5000。
輸出描述:
輸出一個整數(shù)玄帕,表示輸入字符串最后一個單詞的長度部脚。
示例1
輸入:
hello nowcoder
輸出:
8
說明:
最后一個單詞為nowcoder,長度為8
解答
var str = readline().trim()
function getLastLength(str) {
if (str.length > 5000) {
return console.log('字符串長度不符合規(guī)則')
}
var wordArr = str.split(' ')
var lastArr = wordArr[wordArr.length - 1].split('')
var lastChar = lastArr[lastArr.length - 1].charCodeAt(0)
if (lastChar < 65 || (lastChar > 90 && lastChar < 97) || lastChar > 122) {
lastArr.pop(lastChar)
}
var len = lastArr.join('').length
return len
}
console.log(getLastLength(str))
HJ2 計算某字母出現(xiàn)次數(shù)
描述
寫出一個程序裤纹,接受一個由字母睛低、數(shù)字和空格組成的字符串,和一個字母服傍,然后輸出輸入字符串中該字母的出現(xiàn)次數(shù)钱雷。不區(qū)分大小寫,字符串長度小于500吹零。
輸入描述:
第一行輸入一個由字母和數(shù)字以及空格組成的字符串罩抗,第二行輸入一個字母。
輸出描述:
輸出輸入字符串中含有該字符的個數(shù)灿椅。
示例1
輸入:ABCabc
A
輸出:2
解答
var str = readline().trim()
var char = readline().trim()
function getcount(str, char) {
char = isUpper(char)
var count = 0
str.split('').forEach(item => {
item = isUpper(item)
if (char == item) {
count++
}
})
return count
}
function isUpper(char) {
if (char.charCodeAt(0) >= 65 && char.charCodeAt(0) <= 90) {
return char.toLowerCase()
}
return char
}
console.log(getcount(str, char))
HJ3 明明的隨機數(shù)
描述
明明想在學校中請一些同學一起做一項問卷調(diào)查套蒂,為了實驗的客觀性钞支,他先用計算機生成了N個1到1000之間的隨機整數(shù)(N≤1000),對于其中重復的數(shù)字操刀,只保留一個烁挟,把其余相同的數(shù)去掉,不同的數(shù)對應著不同的學生的學號骨坑。然后再把這些數(shù)從小到大排序撼嗓,按照排好的順序去找同學做調(diào)查。請你協(xié)助明明完成“去重”與“排序”的工作(同一個測試用例里可能會有多組數(shù)據(jù)(用于不同的調(diào)查)欢唾,希望大家能正確處理)且警。
注:測試用例保證輸入?yún)?shù)的正確性,答題者無需驗證礁遣。測試用例不止一組斑芜。
當沒有新的輸入時,說明輸入結束祟霍。
輸入描述:
注意:輸入可能有多組數(shù)據(jù)(用于不同的調(diào)查)杏头。每組數(shù)據(jù)都包括多行,第一行先輸入隨機整數(shù)的個數(shù)N沸呐,接下來的N行再輸入相應個數(shù)的整數(shù)大州。具體格式請看下面的"示例"。
輸出描述:
返回多行垂谢,處理后的結果
示例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
說明:輸入解釋:
第一個數(shù)字是3厦画,也即這個小樣例的N=3,說明用計算機生成了3個1到1000之間的 隨機整數(shù)滥朱,接下來每行一個隨機數(shù)字根暑,共3行,也即這3個隨機數(shù)字為:
2
1
1
所以第一個小樣例的輸出為:
1
2
第二個小樣例的第一個數(shù)字為11徙邻,也即...(類似上面的解釋)...
所以第二個小樣例的輸出為:
10
15
20
32
40
67
89
300
400
所以示例1包含了兩個小樣例E畔印!
解答
var arr = []
var current = 0
function setTeam() {
while(true) {
var num = readline()
if (!num) {
return
}
setSort(num)
}
}
function setSort(num) {
var team = []
for (var i = 0; i < num; i++) {
team.push(readline())
}
team = Array.from(new Set(team)).sort((a, b) => a - b)
arr = [...arr, ...team]
}
setTeam()
arr.forEach(item => console.log(item))