当前位置:首页 > 技术 >

括号加问号怎么打出来(怎么打方框里问号)

来源:原点资讯(www.yd166.com)时间:2022-11-20 12:58:35作者:YD166手机阅读>>

题目

给你一个字符串 s ,它包含一些括号对,每个括号中包含一个 非空 的键。

比方说,字符串 "(name)is(age)yearsold" 中,有 两个 括号对,分别包含键 "name" 和 "age" 。

你知道许多键对应的值,这些关系由二维字符串数组 knowledge 表示,

其中 knowledge[i] = [keyi, valuei] ,表示键 keyi 对应的值为 valuei 。

你需要替换 所有 的括号对。当你替换一个括号对,且它包含的键为 keyi 时,你需要:

将 keyi 和括号用对应的值 valuei 替换。

如果从 knowledge 中无法得知某个键对应的值,你需要将 keyi 和括号用问号 "?" 替换(不需要引号)。

knowledge 中每个键最多只会出现一次。s 中不会有嵌套的括号。

请你返回替换 所有 括号对后的结果字符串。

示例 1:输入:s = "(name)is(age)yearsold", knowledge = [["name","bob"],["age","two"]]

输出:"bobistwoyearsold"

解释:键 "name" 对应的值为 "bob" ,所以将 "(name)" 替换为 "bob" 。

键 "age" 对应的值为 "two" ,所以将 "(age)" 替换为 "two" 。

示例 2:输入:s = "hi(name)", knowledge = [["a","b"]] 输出:"hi?"

解释:由于不知道键 "name" 对应的值,所以用 "?" 替换 "(name)" 。

示例 3:输入:s = "(a)(a)(a)aaa", knowledge = [["a","yes"]] 输出:"yesyesyesaaa"

解释:相同的键在 s 中可能会出现多次。

键 "a" 对应的值为 "yes" ,所以将所有的 "(a)" 替换为 "yes" 。

注意,不在括号里的 "a" 不需要被替换。

示例 4:输入:s = "(a)(b)", knowledge = [["a","b"],["b","a"]] 输出:"ba"

提示:1 <= s.length <= 105

0 <= knowledge.length <= 105

knowledge[i].length == 2

1 <= keyi.length, valuei.length <= 10

s 只包含小写英文字母和圆括号 '(' 和 ')' 。

s 中每一个左圆括号 '(' 都有对应的右圆括号 ')' 。

s 中每对括号内的键都不会为空。

s 中不会有嵌套括号对。

keyi 和 valuei 只包含小写英文字母。

knowledge 中的 keyi 不会重复。

解题思路分析

1、哈希辅助;时间复杂度O(n),空间复杂度O(n)

括号加问号怎么打出来,怎么打方框里问号(1)

func evaluate(s string, knowledge [][]string) string { m := make(map[string]string) for i := 0; i < len(knowledge); i { a, b := knowledge[i][0], knowledge[i][1] m[a] = b } res := "" left := -1 for i := 0; i < len(s); i { if s[i] == '(' { left = i } else if s[i] == ')' { str := s[left 1 : i] if v, ok := m[str]; ok { res = res v } else { res = res "?" } left = -1 } else if left == -1 { res = res string(s[i]) } } return res }总结

Medium题目,简单的字符串题目,遍历匹配即可

栏目热文

中文的括号怎么打出来(打字的时候括号怎么打)

中文的括号怎么打出来(打字的时候括号怎么打)

看下图打印设置,发现中文括号占2个字符,一下子就将表格边框给掩盖了,那如何替换为英文括号呢,一般人可能先替换左括号,再替...

2022-11-20 12:41:44查看全文 >>

中文状态下如何打括号(怎么在电脑上打出中文括号)

中文状态下如何打括号(怎么在电脑上打出中文括号)

这篇文章跟大家分享一些常用符号的输入办法。一、粗中括号【】应用案例:一些玩头条或者百家号的朋友在发布微头条或动态时,可能...

2022-11-20 13:09:09查看全文 >>

中括号怎么打(括号套括号的正确用法)

中括号怎么打(括号套括号的正确用法)

分享兴趣,传播快乐,增长见闻,留下美好。亲爱的您,这里是LearingYard学苑!今天小编为大家带来MathTyp...

2022-11-20 13:06:17查看全文 >>

加粗中括号如何打(加粗中括号在键盘上怎么打)

加粗中括号如何打(加粗中括号在键盘上怎么打)

文章来源于默说职场的微信电子邮件是如今工作场所重要的通信工具之一,但不是每个人都知道如何很好地使用这个工具。工作邮件也是...

2022-11-20 13:20:36查看全文 >>

中文版括号怎么打出来(电脑中的括号怎么打)

中文版括号怎么打出来(电脑中的括号怎么打)

《凯瑟琳》最近出了PC版,但是游戏还是没有中文,包括成就在内都是英文显示,给全成就带来了极大的不便。现在小编带给大家全成...

2022-11-20 12:42:40查看全文 >>

长度中括号在电脑上怎么打(电脑上各种括号怎么打)

长度中括号在电脑上怎么打(电脑上各种括号怎么打)

公文处理是一门学科,发出的公文代表一个部门的整体形象,但是在日常收发文工作中,依然发现一些不容忽视的问题。今天,和大家一...

2022-11-20 12:55:34查看全文 >>

怎样正确使用符号中的括号(符号使用规范两个括号的正确用法)

怎样正确使用符号中的括号(符号使用规范两个括号的正确用法)

(一)括号的基本用法 1 定义 标号的一种,标示语段中的注释内容、补充说明或其他特定意义的语句。 2 形式 括号的主要...

2022-11-20 13:04:04查看全文 >>

文件号的括号怎么打(红头文件括号怎么打)

文件号的括号怎么打(红头文件括号怎么打)

在实际工作中,尤其是行政办公中,我们会经常用到“〔〕”这个符号。初入职场,如果你的领导让你发个文件,或者是你在政府部门工...

2022-11-20 13:23:22查看全文 >>

排卵期有三种表现(排卵期的七种表现)

排卵期有三种表现(排卵期的七种表现)

女性从十几岁的时候来月经,同时也意味着你每个月也会经历一次排卵的过程。因为排卵并不是像来月经一样红红火火的,所以基本不怎...

2022-11-20 12:44:00查看全文 >>

排卵期的八个征兆有哪些(排卵期的七种表现)

排卵期的八个征兆有哪些(排卵期的七种表现)

来源:怀孕百事通备孕知识核心提示:女性生理周期主要分为4个周期:月经期(第1-7天)、滤泡期(排卵期前一周,即第7-13...

2022-11-20 13:12:16查看全文 >>

文档排行