lettcode笔记--Valid Parentheses
20.Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.
用栈来实现,参考:http://blog.csdn.net/feliciafay/article/details/17408469
22. Generate Parentheses
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
[
"((()))",
"(()())",
"(())()",
"()(())",
"()()()"
]
解答:用二叉树递归方法来实现,参考: http://blog.csdn.net/fly_yr/article/details/48754087
只有当右边括号数目小于左边括号数目时,才可以添加右括号。
class Solution {
private:
void generateParenthesis1(vector<string>&v,string s,int l,int r){
if(l==0&&r==0)
{
v.push_back(s);
return;
}
if(l>0)
generateParenthesis1(v,s+"(",l-1,r);
if(r>0&&l<r)
generateParenthesis1(v,s+")",l,r-1);
}
public:
vector<string> generateParenthesis(int n) {
if(n==0)
return vector<string>();
vector<string> v;
generateParenthesis1(v,"",n,n);
return v;
}
};
89.Gray code
The gray code is a binary numeral system where two successive values differ in only one bit.
Given a non-negative integer n representing the total number of bits in the code, print the sequence of gray code. A gray code sequence must begin with 0.
For example, given n = 2, return [0,1,3,2]. Its gray code sequence is:
00 - 0
01 - 1
11 - 3
10 - 2
(看不太懂。。)
参考:http://www.cnblogs.com/jdneo/p/5228780.html 35. Search Insert Position
终于有一道会做的题目了好开心!!
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Here are few examples.[1,3,5,6], 5 → 2[1,3,5,6], 2 → 1[1,3,5,6], 7 → 4[1,3,5,6], 0 → 0
在一个排好序的数组中查找某个值,存在则返回对应的value,不存在则返回能够插入的数组中的下标,其实就是找到第一个大于等于目标值的下标,用二分法查找。
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int low=0;
int high=nums.size()-1;
int mid=0;
while(low<=high){
mid=low+(high-low)/2;
if(target<=nums[mid])
high=mid-1;
else
low=mid+1;
}
return low;
}
};
14. Longest Common Prefix--找最长前缀。这里string[j]=0为什么就可以截断了呀?
Write a function to find the longest common prefix string amongst an array of strings.
#include <iostream>
#include <cstdlib>
#include <string>
#include <vector> using namespace std; class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size()==) return "";
char* str=(char*)malloc(sizeof(char)*(strs[].size()+));
for(int i=;i<strs[].size();i++){
str[i]=strs[][i];
}
str[strs[].size()]=;
for(int i=;i<strs.size();i++){
int j=;
while(str[j]&&strs[i][j]&&str[j]==strs[i][j])
j++;
str[j]=;
}
return string(str);
}
}; int main()
{
Solution sl; vector<string> s;
s.push_back("abcd");
s.push_back("abdff");
string str=sl.longestCommonPrefix(s);
if(str=="")
str="无解";
cout<<"this is the end of "+str<<endl;
system("pause");
return ;
}
lettcode笔记--Valid Parentheses的更多相关文章
- LeetCode 笔记系列八 Longest Valid Parentheses [lich你又想多了]
题目:Given a string containing just the characters '(' and ')', find the length of the longest valid ( ...
- 【leetcode刷题笔记】Longest Valid Parentheses
Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...
- LeetCode解题笔记 - 20. Valid Parentheses
这星期听别人说在做LeetCode,让他分享一题来看看.试了感觉挺有意思,可以培养自己的思路,还能方便的查看优秀的解决方案.准备自己也开始. 解决方案通常有多种多样,我觉得把自己的解决思路记录下来,阶 ...
- [LeetCode] Longest Valid Parentheses 最长有效括号
Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...
- [LeetCode] Valid Parentheses 验证括号
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...
- Longest Valid Parentheses
Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...
- 72. Generate Parentheses && Valid Parentheses
Generate Parentheses Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ...
- leetcode 32. Longest Valid Parentheses
Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...
- 【leetcode】Longest Valid Parentheses
Longest Valid Parentheses Given a string containing just the characters '(' and ')', find the length ...
随机推荐
- F. 数学上来先打表
题解: 搞这题搞了一天 思维不是很难 就是暴力压位bitset 分块做法速度更快 但是stl里的不能实现这个功能 所以手动实现 64位压一位 到65535跑一下1的个数 然后(x>>16) ...
- python排列组合之itertools模块
1. 参考 几个有用的python函数 (笛卡尔积, 排列, 组合) 9.7. itertools — Functions creating iterators for efficient loopi ...
- Neo4j导入本地csv问题
把要导入的文件放到D盘,LOAD CSV WITH HEADERS FROM "file:///D:/xx.csv" AS line create (:node); 总提示输入错误
- MySql中Week()函数的用法
WEEK(date[,mode]):该函数返回日期的星期数 模式 星期的第一天 范围 星期 1 是第一天 0 Sunday 0-53 一年中多一个星期天 1 Monday 0-53 一年多3天 2 S ...
- Python学习(二十八)—— Django模板系统
转载自http://www.cnblogs.com/liwenzhou/p/7931828.html Django模板系统 官方文档 一.常用语法 只需要记两种特殊符号: {{ }}和 {% %} ...
- 使用element-ui的常见问题
给组件绑定的事件为什么无法触发? 在 Vue 2.0 中,为自定义组件绑定原生事件必须使用 .native 修饰符: <my-component @click.native="han ...
- ArrayList类中的contains()方法底层依赖的是equals()方法
ArrayList类中的contains()方法底层依赖的是equals()方法.若集合中的元素是自定义对象,则应该重写该类父类Object的equals()方法,否则对象永远都不相同(因为都是new ...
- 数据库构架设计中的Shared Everthting、Shared Nothing、和Shared Disk
Shared Everthting:一般是针对单个主机,完全透明共享CPU/MEMORY/IO,并行处理能力是最差的,典型的代表SQLServer Shared Disk:各个处理单元使用自己的私有 ...
- oracle左连接连表查询
要想把该表的数据全部查出来,必须select中出现该表的字段. SELECT distinct a.ZGSWSKFJ_DM,b.ZGSWJ_DM,b.SSGLY_DM,b.NSRSBH,b.NSRMC ...
- Leading and Trailing(巧妙利用log解决次方问题)
Sample Input 5 123456 1 123456 2 2 31 2 32 29 8751919 Sample Output Case 1: 123 456 Case 2: 152 936 ...