本文已参与「新人创作礼」活动,一起开启掘金创作之路。
题目
1614.括号的最大嵌套深度
题目大意
思路
要求就是考虑字符串中字符的最深的嵌套深度,实际上就是遇到一个'(',当前深度+1,遇到一个')' ,深度-1,而答案每次需要根据当前深度进行更新,取最大的深度。
代码
class Solution {
public:
int maxDepth(string s) {
int len=s.length(),now=0,ans=0;
for(int i=0;i<len;i++){
if(s[i]=='(')now++;
else if(s[i]==')')now--;
ans=max(ans,now);
}
return ans;
}
};
题目
89.格雷编码
题目大意
样例
数据规模
思路
通过题意可以知道格雷码的定义,而通过资料可以想到最简单的构造方法:
那么一开始就先存储(0,1)(这是n=1的情况),接下来每次将之前的所有格雷码倒序加到数组末尾并且叠加上 ,这样做n-1轮就是最终要的格雷码。
代码
class Solution {
public:
vector<int> grayCode(int n) {
vector<int>ans;
ans.push_back(0);
ans.push_back(1);
int t=1;
for(int i=2;i<=n;i++){
int tot=ans.size();
t*=2;
for(int j=tot-1;j>=0;j--){
ans.push_back(t+ans[j]);
}
}
return ans;
}
};