请编写程序,给定一个字符串,输出字符串中左花括号‘{’和右花括号‘}’的匹配次数。 匹配要求: 1、采用就近匹配原则 2、左花括号在前,右花括号在后 3、若左花括号连续出现,需要相同数目且连续的右花括号才能完成一次匹配 示例如下: 1、“aabbcc”,输出0 2、“{aa{{bb}cc}}”,输出0 3、“{aa{{bb}}cc”,输出1 4、“{aa{{bb}}cc}”,输出2 5、“aa}bb{cc”,输出0 6、“aa{bb}cc”,输出1 7、“aa{{bb}cc}”,输出0 8、“aa{{bb}}cc”,输出1 实现关键函数即可,可以参考以下函数原型: int GetBraceMatchCount(const string& str); 提示: 1、不能使用比较字符串的库函数,以及==和!=的重载 2、可以使用自己擅长的语言
区块链毕设网qklbishe.com为您提供问题的解答
请编写程序,给定一个字符串,输出字符串中左花括号‘{’和右花括号‘}’的匹配次数。
匹配要求:
1、采用就近匹配原则
2、左花括号在前,右花括号在后
3、若左花括号连续出现,需要相同数目且连续的右花括号才能完成一次匹配
示例如下:
1、“aabbcc”,输出0
2、“{aa{{bb}cc}}”,输出0
3、“{aa{{bb}}cc”,输出1
4、“{aa{{bb}}cc}”,输出2
5、“aa}bb{cc”,输出0
6、“aa{bb}cc”,输出1
7、“aa{{bb}cc}”,输出0
8、“aa{{bb}}cc”,输出1
实现关键函数即可,可以参考以下函数原型:
int GetBraceMatchCount(const string& str);
提示:
1、不能使用比较字符串的库函数,以及==和!=的重载
2、可以使用自己擅长的语言
//TypeScript
public static GetBraceMatchCount(s: string): number {
let left: number = 0;
let right: number = 0;
let matchCount: number = 0;
let stack = [];
for (let i = 0; i < s.length; i++) {
if (s[i] == "{") {
left++;
}
else if (s[i] != "{" && left != 0) {
stack.push(left);
left = 0;
}
else if (s[i] == "}") {
right++;
if(i == s.length – 1 && right != 0) {
let top = stack[stack.length – 1];
if (right == top) {
matchCount++;
}
}
}
else if (s[i] != "}" && right != 0) {
let top = stack[stack.length – 1];
if (right == top) {
matchCount++;
}
stack.pop()
right = 0;
}
}
return matchCount;
}
51:34
以上就是关于问题请编写程序,给定一个字符串,输出字符串中左花括号‘{’和右花括号‘}’的匹配次数。 匹配要求: 1、采用就近匹配原则 2、左花括号在前,右花括号在后 3、若左花括号连续出现,需要相同数目且连续的右花括号才能完成一次匹配 示例如下: 1、“aabbcc”,输出0 2、“{aa{{bb}cc}}”,输出0 3、“{aa{{bb}}cc”,输出1 4、“{aa{{bb}}cc}”,输出2 5、“aa}bb{cc”,输出0 6、“aa{bb}cc”,输出1 7、“aa{{bb}cc}”,输出0 8、“aa{{bb}}cc”,输出1 实现关键函数即可,可以参考以下函数原型: int GetBraceMatchCount(const string& str); 提示: 1、不能使用比较字符串的库函数,以及==和!=的重载 2、可以使用自己擅长的语言的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请编写程序,给定一个字符串,输出字符串中左花括号‘{’和右花括号‘}’的匹配次数。 匹配要求: 1、采用就近匹配原则 2、左花括号在前,右花括号在后 3、若左花括号连续出现,需要相同数目且连续的右花括号才能完成一次匹配 示例如下: 1、“aabbcc”,输出0 2、“{aa{{bb}cc}}”,输出0 3、“{aa{{bb}}cc”,输出1 4、“{aa{{bb}}cc}”,输出2 5、“aa}bb{cc”,输出0 6、“aa{bb}cc”,输出1 7、“aa{{bb}cc}”,输出0 8、“aa{{bb}}cc”,输出1 实现关键函数即可,可以参考以下函数原型: int GetBraceMatchCount(const string& str); 提示: 1、不能使用比较字符串的库函数,以及==和!=的重载 2、可以使用自己擅长的语言
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请编写程序,给定一个字符串,输出字符串中左花括号‘{’和右花括号‘}’的匹配次数。 匹配要求: 1、采用就近匹配原则 2、左花括号在前,右花括号在后 3、若左花括号连续出现,需要相同数目且连续的右花括号才能完成一次匹配 示例如下: 1、“aabbcc”,输出0 2、“{aa{{bb}cc}}”,输出0 3、“{aa{{bb}}cc”,输出1 4、“{aa{{bb}}cc}”,输出2 5、“aa}bb{cc”,输出0 6、“aa{bb}cc”,输出1 7、“aa{{bb}cc}”,输出0 8、“aa{{bb}}cc”,输出1 实现关键函数即可,可以参考以下函数原型: int GetBraceMatchCount(const string& str); 提示: 1、不能使用比较字符串的库函数,以及==和!=的重载 2、可以使用自己擅长的语言
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请编写程序,给定一个字符串,输出字符串中左花括号‘{’和右花括号‘}’的匹配次数。 匹配要求: 1、采用就近匹配原则 2、左花括号在前,右花括号在后 3、若左花括号连续出现,需要相同数目且连续的右花括号才能完成一次匹配 示例如下: 1、“aabbcc”,输出0 2、“{aa{{bb}cc}}”,输出0 3、“{aa{{bb}}cc”,输出1 4、“{aa{{bb}}cc}”,输出2 5、“aa}bb{cc”,输出0 6、“aa{bb}cc”,输出1 7、“aa{{bb}cc}”,输出0 8、“aa{{bb}}cc”,输出1 实现关键函数即可,可以参考以下函数原型: int GetBraceMatchCount(const string& str); 提示: 1、不能使用比较字符串的库函数,以及==和!=的重载 2、可以使用自己擅长的语言
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请编写程序,给定一个字符串,输出字符串中左花括号‘{’和右花括号‘}’的匹配次数。 匹配要求: 1、采用就近匹配原则 2、左花括号在前,右花括号在后 3、若左花括号连续出现,需要相同数目且连续的右花括号才能完成一次匹配 示例如下: 1、“aabbcc”,输出0 2、“{aa{{bb}cc}}”,输出0 3、“{aa{{bb}}cc”,输出1 4、“{aa{{bb}}cc}”,输出2 5、“aa}bb{cc”,输出0 6、“aa{bb}cc”,输出1 7、“aa{{bb}cc}”,输出0 8、“aa{{bb}}cc”,输出1 实现关键函数即可,可以参考以下函数原型: int GetBraceMatchCount(const string& str); 提示: 1、不能使用比较字符串的库函数,以及==和!=的重载 2、可以使用自己擅长的语言