网易的题会上线么..好想试试括号那题能不能AC了...

只过了40%,回来发现少了一句话,啊....心累
全部评论
已经放出来了 https://www.nowcoder.com/contestRoom
点赞 回复 分享
发布于 2017-09-09 22:17
第三题初始值设置小了。。习惯用maxvalue结果这次设置99999 心态炸了
点赞 回复 分享
发布于 2017-09-09 18:07
这题怎么做啊,想半天不懂啊
点赞 回复 分享
发布于 2017-09-09 22:15
int main() { string str; cin >> str; int size = str.size(), count = 0; if (size == 4) { cout << 1; return 0; } vector<int> arr(size); int index = 0; for (string::iterator it = str.begin(); it != str.end(); it++) { if (*it == '(') arr[index] = 1; else if (*it == ')') arr[index] = -1; index++; } int last = -1, cursum = 0, cursum_cpy = 0;//last判断连续区域,cursum判断当前字符串合法性 for (int i = 0; i<size; i++) { if (arr[i] == last) continue; last = arr[i]; for (int j = 0; j<i; j++) cursum += arr[j]; //往后 cursum_cpy = cursum; for (int j = i + 1; j<size; j++) { cursum += arr[j]; if (cursum >= 0) { if (arr[i] != arr[j]) count++; } else break; } //往前 cursum = cursum_cpy; if (i>0) cursum -= arr[i - 1]; else continue; for (int j = i - 2; j >= 0; j--) { if (cursum + arr[i] < 0) break; cursum -= arr[j]; if (cursum + arr[i] >= 0) { if (arr[i] != arr[j]) count++; } else break; } } cout << count << endl; return 0; }
点赞 回复 分享
发布于 2017-09-10 20:56

相关推荐

02-13 14:30
四川大学 Java
Java抽象带篮子:简历怎么写可以看看我发的帖子,你先照着优化下简历吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务