网易首页 > 网易号 > 正文 申请入驻

2026-08-16:分数验证器。用go语言,初始时分数和计数都为 0。按从左到右的顺序处理事件列表:如果当前项是数字字符串“0”“1”“2”“3

0
分享至

2026-08-16:分数验证器。用go语言,初始时分数和计数都为 0。按从左到右的顺序处理事件列表:如果当前项是数字字符串“0”“1”“2”“3”“4”或“6”,就把对应数字加到分数上;如果是“W”,只把计数加 1,分数不变;如果是“WD”或“NB”,只把分数加 1,计数不变。每处理完一项后检查:如果已经处理到列表末尾,或者计数已经达到 10,就立即停止,不再处理后续内容。最后返回两个整数,依次表示最终分数和最终计数。

1 <= events.length <= 1000。

events[i] 是 "0"、"1"、"2"、"3"、"4"、"6"、"W"、"WD" 或 "NB" 之一。

输入: events = ["1","4","W","6","WD"]。

输出: [12,1]。

解释:

事件

得分

计数器

"1"

1

0

"4"

5

0

"W"

5

1

"6"

11

1

"WD"

12

1

最终结果:[12, 1]。

题目来自力扣3921。

处理过程详述

  1. 1.初始化状态
    一开始,总得分score为 0,计数器counter为 0。这两个变量用来记录当前累计的结果。

  2. 2.从左到右逐个处理事件
    程序会按顺序读取events数组中的每一个字符串元素,对每个元素执行相应的操作。

  3. 3.判断当前事件类型并更新状态
    对于当前事件字符串,有三种可能的情况:

  • •当前事件是"W"
    表示一次计分前的“警告”或“宽球”事件。此时只把计数器counter加 1,总得分score保持不变。
    加完后会立即检查:如果counter已经等于 10,就马上停止处理,不再继续看后面的任何事件。

  • •当前事件长度大于 1,即"WD"或"NB"
    这两种事件都表示额外加 1 分。此时只把总得分score加 1,计数器counter保持不变。
    因为计数器没有变化,所以不可能在这一步达到 10,也就不需要额外检查停止条件。

  • •当前事件是单个数字字符,即"0"、"1"、"2"、"3"、"4"、"6"之一
    表示正常得分事件。此时把该数字字符转换成对应的整数值,加到总得分score上。
    计数器counter保持不变。

4.循环继续或提前结束
如果当前事件是"W"且计数器达到 10,循环会提前结束。
否则,继续处理下一个事件,直到所有事件都处理完。

5.返回最终结果
循环结束后,把最终的score和counter组合成一个长度为 2 的整数数组返回,第一个元素是总得分,第二个元素是计数器值。

示例走查

以输入events = ["1","4","W","6","WD"]为例:

  • • 初始:score = 0,counter = 0

  • • 处理"1":数字 1,score = 0 + 1 = 1

  • • 处理"4":数字 4,score = 1 + 4 = 5

  • • 处理"W":计数器加 1,counter = 1,未达到 10,继续

  • • 处理"6":数字 6,score = 5 + 6 = 11

  • • 处理"WD":长度大于 1,score = 11 + 1 = 12

  • • 所有事件处理完毕,返回[12, 1]

复杂度分析
  • •时间复杂度:
    最坏情况下需要遍历整个events数组一次。每个事件只进行常数次判断和简单加法操作,因此总时间复杂度为 O(n),其中 n 是events的长度。

  • •额外空间复杂度:
    整个过程中只使用了两个整数变量score和counter,以及最终返回的固定长度数组。这些空间都不随输入规模增长,所以额外空间复杂度为 O(1)。

Go完整代码如下:

package main

import (
"fmt"
)

func scoreValidator(events []string) []int {
score, counter := 0, 0

for _, s := range events {
if s == "W" {
counter++
if counter == 10 {
break
}
} else if len(s) > 1 { // "WD" "NB"
score++
} else { // 数字
score += int(s[0] - '0')
}
}

return []int{score, counter}
}

func main() {
events := []string{"1", "4", "W", "6", "WD"}
result := scoreValidator(events)
fmt.Println(result)
}

Python完整代码如下:

# -*-coding:utf-8-*-

def score_validator(events):
score = 0
counter = 0

for s in events:
if s == "W":
counter += 1
if counter == 10:
break
elif len(s) > 1: # "WD" 或 "NB"
score += 1
else: # 单个数字字符串
score += int(s)

return [score, counter]

if __name__ == "__main__":
events = ["1", "4", "W", "6", "WD"]
result = score_validator(events)
print(result)

C++完整代码如下:

  




std::vector scoreValidator(const std::vector string >& events) {
int score = 0 ;
int counter = 0 ;

for ( const std:: string & s : events) {
if (s == "W" ) {
counter++;
if (counter == 10 ) {
break ;
}
} else if (s.length() > 1 ) { // "WD" 或 "NB"
score++;
} else { // 单个数字字符
score += s[ 0 ] - '0' ;
}
}

return {score, counter};
}

int main() {
std::vector string > events = { "1" , "4" , "W" , "6" , "WD" };
std::vector< int > result = scoreValidator(events);
std::cout << "[" << result[ 0 ] << ", " << result[ 1 ] << "]" << std::endl;
return 0 ;
}

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
Q3全球手机出货量创14年新低:小米跌超30%,OPPO、vivo跌超20%

Q3全球手机出货量创14年新低:小米跌超30%,OPPO、vivo跌超20%

TechWeb
2026-10-13 09:40:03
马斯克为美国中期选举斥资3.66亿美元,成为共和党已知最大捐助者,美媒披露明细

马斯克为美国中期选举斥资3.66亿美元,成为共和党已知最大捐助者,美媒披露明细

环球网资讯
2026-10-13 10:53:16
8.5席不变、赛制却变天!亚国联若取代世预赛,国足的2030是活路还是死路?

8.5席不变、赛制却变天!亚国联若取代世预赛,国足的2030是活路还是死路?

神州足球
2026-10-12 09:00:44
港媒:大陆高铁已被“粪便淹没”!再不解决后果严重,真的假的?

港媒:大陆高铁已被“粪便淹没”!再不解决后果严重,真的假的?

铭记历史呀
2026-09-02 02:21:33
叶剑英坦言:毛主席用三次“神指挥”,折服了所有的将帅

叶剑英坦言:毛主席用三次“神指挥”,折服了所有的将帅

纪史行者
2026-10-02 06:00:10
看完胜利3-1费尔干纳油工,不得不承认5个事实,C罗轰生涯981球!

看完胜利3-1费尔干纳油工,不得不承认5个事实,C罗轰生涯981球!

田先生篮球
2026-10-13 05:57:57
华为的恩情,10辈子都还不完?华为粉的一句吹捧,评论区立刻清醒

华为的恩情,10辈子都还不完?华为粉的一句吹捧,评论区立刻清醒

谭谈社会
2026-06-08 16:32:22
一周诊断两个年轻肺癌,一个28岁,一个34岁,一个已经是晚期

一周诊断两个年轻肺癌,一个28岁,一个34岁,一个已经是晚期

呼吸科大夫胡洋
2026-10-12 12:42:48
多国接连表态:种种迹象表明,我国很可能,将会用不一样方式收台

多国接连表态:种种迹象表明,我国很可能,将会用不一样方式收台

春之寞陌
2026-10-09 20:54:01
勒布伦遇到硬签,莫雷加德获得上上签,斯佐科斯获得下下签

勒布伦遇到硬签,莫雷加德获得上上签,斯佐科斯获得下下签

子水体娱
2026-10-12 13:38:35
特朗普选举造势翻车!两度遭到当众受辱,现场爆发激烈对峙

特朗普选举造势翻车!两度遭到当众受辱,现场爆发激烈对峙

军情观察家
2026-10-12 13:23:48
维尔纳:我认为梅西是有史以来最伟大的球员,C罗处于类似水平

维尔纳:我认为梅西是有史以来最伟大的球员,C罗处于类似水平

懂球帝
2026-10-13 09:25:25
我才65岁,儿子就要送我去养老院,我无奈同意,临行前去银行注销了银行卡,入住7天后,儿子跑来找我:妈,我这个月的房贷怎么逾期了?

我才65岁,儿子就要送我去养老院,我无奈同意,临行前去银行注销了银行卡,入住7天后,儿子跑来找我:妈,我这个月的房贷怎么逾期了?

蝉吟槐蕊
2026-10-12 23:23:58
哪件事让你觉得天命难违?网友:机关算尽,不如命运轻描一笔!

哪件事让你觉得天命难违?网友:机关算尽,不如命运轻描一笔!

另子维爱读史
2026-10-12 20:20:41
李在明暗示韩国曾统治中原万年言论曝出,日本媒体冷嘲:他对中国“怕不是有啥幻想”,争议迅速发酵

李在明暗示韩国曾统治中原万年言论曝出,日本媒体冷嘲:他对中国“怕不是有啥幻想”,争议迅速发酵

爱竞彩的小周
2026-10-02 04:39:54
为什么女性第一次偷情,就已经做好上床的准备了?

为什么女性第一次偷情,就已经做好上床的准备了?

思絮情感
2026-10-13 11:09:54
正式退赛,高芙连夜离开中国,不满被中国球迷网暴,利用规则赢中国小将

正式退赛,高芙连夜离开中国,不满被中国球迷网暴,利用规则赢中国小将

喜欢体育的猫
2026-10-10 09:31:20
彻底撕破脸!张继科直播公开控诉刘国梁,揭露师徒决裂真实内幕

彻底撕破脸!张继科直播公开控诉刘国梁,揭露师徒决裂真实内幕

体育见习官
2026-10-05 14:12:07
特朗普称俄乌必须达成协议结束冲突

特朗普称俄乌必须达成协议结束冲突

新华社
2026-10-13 07:35:03
1978年,原空军副司令张积慧被解除职务,被关押两年,1980年转业到地方,连降六级,先后担任成都420厂副厂长等职务,他始终勤恳工作

1978年,原空军副司令张积慧被解除职务,被关押两年,1980年转业到地方,连降六级,先后担任成都420厂副厂长等职务,他始终勤恳工作

回京历史梦
2026-10-10 06:25:11
2026-10-13 12:04:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1511文章数 83关注度
往期回顾 全部

科技要闻

扎克伯格宣布追上OpenAI!Meta新模型亮相

头条要闻

尊界V800发布说明 知情者:门店销售将逐一跟用户沟通

头条要闻

尊界V800发布说明 知情者:门店销售将逐一跟用户沟通

体育要闻

一周吃6顿披萨的胖子,也能单防姆巴佩?

娱乐要闻

小S女儿许曦文晒照片,形似大S

财经要闻

宜信终于还是爆雷了!最后的P2P大佬被抓

汽车要闻

小鹏G9L巴黎车展全球上市 法国市场售价74990欧元起

态度原创

健康
教育
房产
游戏
军事航空

孩子运动莫名晕倒?当心这类疾病

教育要闻

上海高中生成绩中等怎么选辅导机构,课堂关注度与跟进机制的核对方式

房产要闻

巨无霸来了!海口百亿大盘,正式动工!

《海塔尔》第一章更新 新增首领地下城与多人小游戏

军事要闻

胡塞武装持续发动袭击 沙特王储被指辗转多个地堡宫殿

无障碍浏览 进入关怀版