【无标题】
2022/1/12 6:06:36
本文主要是介绍【无标题】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一 。括号匹配(含*号)
bool checkValidString(char * s){
int i = 0 , ri = 0 ;char a[11111];
for(; *(s + i) != '\0' ; i++){
if(*(s + i) == '{' || *(s + i) == '[' || *(s + i) == '<' || *(s + i) == '(' || *(s + i )== '*'){
a[ri ++] = *(s + i);
}
else if(*(s + i) == '}'&&ri != 0){
int o = 0 , q = ri ;
while(q > 0 &&*(a + q - 1) == '*'){
o ++;
q --;
}
if(q != 0 && *(a + q - 1) == '{'){
while(o != 0){
a[q - 1] = '*';
q ++;
o --;
}
ri -- ;
}
else if(*(a + ri - 1) == '*'){
ri -- ;
}
else return 0;
}
else if(*(s + i) == '>'&&ri != 0){
int o = 0 , q = ri ;
while(q > 0 &&*(a + q - 1) == '*'){
o ++;
q --;
}
if(q != 0&&*(a + q - 1) == '<'){
while(o != 0){
a[q - 1] = '*';
q ++;
o --;
}
ri -- ;
}
else if(*(s + ri - 1) == '*'){
ri -- ;
}
else return 0;
}
else if(*(s + i) == ')'&&ri != 0){
int o = 0 , q = ri ;//ri =2 = q
while(q > 0 &&*(a + q - 1) == '*' ){
o ++;//0 = 1,
q --;//q = 1,
}
if( q!= 0&&*(a + q - 1) == '('){
while(o != 0){
a[q - 1] = '*';//s[0] = *
q ++;//q = 2
o --;//o = 0
}
ri -- ;//ri = 1
}
else if(*(a + ri - 1) == '*'){
ri -- ;
}
else return 0;
}
else if(*(s + i) == ']'&&ri != 0){
int o = 0 , q = ri ;
while(q > 0 &&*(a + q - 1) == '*' ){
o ++;
q --;
}
if(q != 0&&*(a + q - 1) == '['){
while(o != 0){
a[q - 1] = '*';
q ++;
o --;
}
ri -- ;
}
else if(*(a + ri - 1) == '*'){
ri -- ;
}
else return false;
}
else return false;
}
int z = 0 , hh = 0;
while(z < ri ){
hh = 1;
if(a[z] == '(') {
hh = 0;
for(int j = z + 1 ; j < ri ; j ++){
if(a[j] == '*') {
a[j] = 'o';
hh = 1;
break;
}
}
}
if(hh == 0) return 0;
z ++ ;
}
return 1;
}
记录下自己的血泪史还是蛮有趣的,力扣还是蛮严谨的。遇到了执行错误。是因为越界,要先判断数组存不存在,然后再判断这个数组满不满足要求(本地编译器根本不报)。如果数组判断完以后没有Return。就数组里面就只剩下左括号和星号或者其中的一种。我当时就觉得只要*号大于左括号个数就可以。但星号还可以在左括号前面。这样就构不成一对括号。在判断是不是左括号右面都有星号的时候。也有一点点问题。一是标记的方法。二就是可能会越界。1.标记方法
2.j是否越界
二 。 报数杀人问题
遗留问题。想法就没变过,就弄俩标志计数,第一个计数是人数,第二个是报数值 ,当人没被杀时:人数++(注意可以直接取余+1,也可>总人数时使其等于1),报数值++(同人数);当报数值==题目所给,即杀人(标记);就这个想法,代码实现却有些复杂
根据别人改进的代码
就在于使用两个循环使其看起来更简洁,还有就是先判断是否被杀,再加值。
这篇关于【无标题】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?
- 2025-01-10实现精准执行:团队协作新方法
- 2025-01-10如何使用工具提升活动策划团队的工作效率?几个必备工具推荐
- 2025-01-10WiX 标签使用介绍:打造专业安装程序的利器