请编写程序,给定一个字符串,输出字符串中左花括号‘{’和右花括号‘}’的匹配次数。 匹配要求: 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、可以使用自己擅长的语言