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的更多相关文章

  1. LeetCode 笔记系列八 Longest Valid Parentheses [lich你又想多了]

    题目:Given a string containing just the characters '(' and ')', find the length of the longest valid ( ...

  2. 【leetcode刷题笔记】Longest Valid Parentheses

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  3. LeetCode解题笔记 - 20. Valid Parentheses

    这星期听别人说在做LeetCode,让他分享一题来看看.试了感觉挺有意思,可以培养自己的思路,还能方便的查看优秀的解决方案.准备自己也开始. 解决方案通常有多种多样,我觉得把自己的解决思路记录下来,阶 ...

  4. [LeetCode] Longest Valid Parentheses 最长有效括号

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  5. [LeetCode] Valid Parentheses 验证括号

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...

  6. Longest Valid Parentheses

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  7. 72. Generate Parentheses && Valid Parentheses

    Generate Parentheses Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ...

  8. leetcode 32. Longest Valid Parentheses

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  9. 【leetcode】Longest Valid Parentheses

    Longest Valid Parentheses Given a string containing just the characters '(' and ')', find the length ...

随机推荐

  1. KnocoutJs+Mvc+BootStrap 学习笔记(Mvc)

    Mvc   1.Html 增加扩展方法 using System.Web.Mvc; namespace KnockoutBootstrapMvc.Entensions { public static ...

  2. Linux查找当前目录5天的文件并打包

    find . -name "*.sh" -mtime -5 |xargs tar zcvf /tmp/log.tar.gz 解释: *.sh是查找以.sh结尾的文件,也可以是其他如 ...

  3. java传值和传引用区别

    1. 在java中所有的参数都是传值的,引用符号&的传递是C++中才有的:2. 在java传参中,基本类型(byte--short--int--long--float--double--boo ...

  4. memcached 配置

    Memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序.它是一个基于内存的“键值对”存储,用于存储数据 ...

  5. jmeter访问mysql数据库

    jdbc:mysql://localhost:3306/jy?allowMultiQueries=true 如果想同时执行多条语句

  6. 查看windows电脑CPU核心数,线程数

    在Windows中,在cmd命令中输入“wmic”,然后在出现的新窗口中输入“cpu get *”即可查看物理CPU数.CPU核心数.线程数.其中,  Name:表示物理CPU数  NumberOfC ...

  7. NOIP2017提高组Day2T2 宝藏 洛谷P3959 状压dp

    原文链接https://www.cnblogs.com/zhouzhendong/p/9261079.html 题目传送门 - 洛谷P3959 题目传送门 - Vijos P2032 题意 给定一个 ...

  8. BigInteger的使用

    [构造方法] BigInteger(String val) :将 BigInteger 的十进制字符串表示形式转换为 BigInteger. [常用方法] 1)add(BigInteger val): ...

  9. forward 和redirect

    http://www.cnblogs.com/davidwang456/p/3998013.html

  10. Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

    IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从 ...