题解 | 数组计数维护

数组计数维护

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
}


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务