题解 | 数组计数维护
数组计数维护
https://www.nowcoder.com/practice/47ee4c040f1648fc9ef7732d35402676
import java.util.Scanner
fun main(args: Array<String>) {
val read = Scanner(System.`in`)
val testCount = read.nextLine().toInt()
val results = IntArray(testCount)
for (i in 0..testCount-1) {
var inputLine = read.nextLine()//第一行有2个数字
val tarArray = mutableListOf<Int>()//存储第一行输入的两个数字
var tokens = inputLine.trim().split("\\s+".toRegex())
for (token in tokens) {
val num = token.toInt()
tarArray.add(num)
}
inputLine = read.nextLine()//第二行输入n个待计算的整数
tokens = inputLine.trim().split("\\s+".toRegex())
val tarNumArray = mutableListOf<Int>()
for (token in tokens) {
val num = token.toInt()
tarNumArray.add(num)
}
val result = getCntResult(tarArray, tarNumArray)
results[i]=result
}
for (i in 0..testCount-1) {
println(results[i])
}
}
fun getCntResult(tarArray: MutableList<Int>, tarNumArray: MutableList<Int>):Int{
val temp = tarArray[1]
var s=0
var cnt = 0
for (i in 0..tarNumArray.size-1) {
if (tarNumArray[i]>=temp){
s += tarNumArray[i]
}
if (tarNumArray[i]== 0 && s>=1){
s -=1
cnt+=1
}
}
return cnt
}
网易游戏公司福利 643人发布