leetcode
闪电电
这个作者很懒,什么都没留下…
展开
-
10. Regular Expression Matching
题意描述:Implement regular expression matching with support for ‘.’ and ‘*’. ‘.’ Matches any single character. ‘*’ Matches zero or more of the preceding element.The matching should cover the entire input原创 2016-01-15 10:55:47 · 401 阅读 · 0 评论 -
24. Swap Nodes in Pairs
题意:Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should return the list as 2->1->4->3. Your algorithm should use only constant space. You原创 2016-01-28 16:01:30 · 274 阅读 · 0 评论 -
25. Reverse Nodes in k-Group
题意: Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it i原创 2016-01-29 15:29:18 · 375 阅读 · 0 评论 -
26. Remove Duplicates from Sorted Array
题意: Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra space for another array, you must do this in place with原创 2016-01-29 16:12:45 · 305 阅读 · 0 评论 -
27. Remove Element
题意:Given an array and a value, remove all instances of that value in place and return the new length.The order of elements can be changed. It doesn’t matter what you leave beyond the new length. AC代码:c原创 2016-01-29 16:50:49 · 326 阅读 · 0 评论 -
11. Container With Most Water
题意描述:Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find tw原创 2016-01-13 09:20:26 · 256 阅读 · 0 评论 -
12. Integer to Roman
题意:Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 to 3999.分析: 数字对应罗马字符: I placed before V or X indicates one less, so four is IV (one less than fiv原创 2016-01-13 12:03:37 · 291 阅读 · 0 评论 -
13. Roman to Integer
题意:Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999.AC代码:int romanToInt(string s){ int ret = 0; for(int i = 0; i < s.size(); ++i){原创 2016-01-13 15:23:11 · 257 阅读 · 0 评论 -
14. Longest Common Prefix
题意:Write a function to find the longest common prefix string amongst an array of strings. 分析:找最长前缀AC代码:string longestCommonPrefix(vector<string>& strs){ string prefix; int prefix_length = 0;原创 2016-01-13 15:57:00 · 232 阅读 · 0 评论 -
31. Next Permutation
题意: Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest possible原创 2016-01-31 16:46:00 · 359 阅读 · 0 评论 -
Algorithm_Linked List
Sort List Problem For God’s sake, don’t try sorting a linked list during the interview So it might be better to actually copy the values into an array and sort them there. Tip: Since a node may原创 2016-05-25 19:16:09 · 378 阅读 · 0 评论 -
STL-priority_queue
参考http://www.cplusplus.com/reference/queue/priority_queue/priority_queue/347. Top K Frequent Elementsmost votes:class Solution { public: vector<int> topKFrequent(vector<int>& nums, int k) {原创 2016-05-30 16:25:25 · 421 阅读 · 0 评论 -
23. Merge k Sorted Lists
题意:Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 分析:堆排序原创 2016-01-25 10:10:31 · 397 阅读 · 0 评论 -
9. Palindrome Number
题意描述:Determine whether an integer is a palindrome(回文结构). Do this without extra space.AC代码:class Solution { public: bool isPalindrome(int x) { if(x < 0) return false; int原创 2016-01-07 14:54:10 · 244 阅读 · 0 评论 -
8. String to Integer (atoi)
题意描述:Implement atoi to convert a string to an integer. 需要注意的情况: 1. 正负号 2. 有效字符之前可能会有空格 3. 有效字符中出现非法字符会截断数字 4. 溢出时输出最大值或最小值AC代码:class Solution { public: int myAtoi(string str) { if(str.l原创 2016-01-07 10:19:28 · 315 阅读 · 0 评论 -
16. 3Sum Closest
题意:Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exact原创 2016-01-19 15:51:22 · 247 阅读 · 0 评论 -
17. Letter Combinations of a Phone Number
题意:Given a digit string, return all possible letter combinations that the number could represent. Input:Digit string “23” Output: [“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 思路:类似n进制数原创 2016-01-19 19:07:44 · 326 阅读 · 0 评论 -
15. 3Sum
题意:Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. 思路: 先排序,两层循环,外层表示求和的第一个数,内层循环设两个游标,指向剩余数原创 2016-01-19 15:49:23 · 238 阅读 · 0 评论 -
18. 4Sum
题意:Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.分析:同3Sum一样的思路,多加了一层循环。原创 2016-01-21 12:52:04 · 272 阅读 · 0 评论 -
19. Remove Nth Node From End of List
题意:Given a linked list, remove the nth node from the end of list and return its head.Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes原创 2016-01-21 13:27:51 · 201 阅读 · 0 评论 -
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 vali原创 2016-01-21 13:51:35 · 222 阅读 · 0 评论 -
21. Merge Two Sorted Lists
题意:Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.class Solution { public: ListNode* mergeTwoLists(List原创 2016-01-22 10:43:39 · 206 阅读 · 0 评论 -
6. ZigZag Conversion
题目描述:给定行数numRows, 将字符串按Z字排列,按行输出class Solution { public: string convert(string s, int numRows) { string ret_string; int len = s.length(); if(numRows == 1 || len <= numRows)原创 2016-01-05 16:50:02 · 334 阅读 · 0 评论 -
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: “((()))”, “(()())”, “(())()”, “()(())”, “()()(原创 2016-01-22 15:53:00 · 220 阅读 · 0 评论 -
7. Reverse Integer
题意描述: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 错误解法:class Solution { public: int reverse(int x) { int sum = 0; while((x*10)/10)原创 2016-01-06 11:23:16 · 324 阅读 · 0 评论 -
5. Longest Palindromic Substring
可悲的超时解法,runtime:130+msclass Solution{ public: string longestPalindrome(string s){ string max_string; for(string::iterator loc_it = s.begin(); (loc_it + 1)!= s.end() ; loc_it ++){原创 2016-01-05 09:55:38 · 308 阅读 · 0 评论 -
Algorithm_DP
1. 矩阵DP(坐标)triangle unique path sum 二维DPjump game 一维 climbing stairs 一维DP2. 分割DP如果限制了切割的字符串的个数(为k),那么就是二维; f[i][j] = 前i个字符,切成j个单词,是否可行如果没有限制 f[i] 表示前i个字符,能否完美切割3. 区间DP4. 两个序列的DP原创 2016-05-27 09:25:40 · 516 阅读 · 0 评论