leetcode
文章平均质量分 57
我是NeroZhang
C++/C/容灾备份/二层协议/云存储,就叫我老张吧
展开
-
leetcode--1201. 丑数 III
题目:1201. 丑数 III链接:https://leetcode-cn.com/problems/ugly-number-iii/这个题目我没做出来,有个知识点不知道,看完评论之后才懂:n以内的丑数个数为 n / a + n / b + n / c - n / lcm(a, b) - n / lcm(a, c) - n / lcm(b, c) + n / lcm(a, b, c),在这个基础上就比较容易想到二分查找了C++:typedef long long LL;class原创 2020-05-18 12:48:04 · 337 阅读 · 0 评论 -
leetcode--93. 复原IP地址
题目:93. 复原IP地址链接:https://leetcode-cn.com/problems/restore-ip-addresses/这个题暴力能过,因为给的字符串比较短嘛C++:class Solution {public: bool checkNum(const string &num) { return !((num[0] == '0' && num.length() > 1) || (atoi(num.c_str())原创 2020-05-12 23:10:06 · 298 阅读 · 0 评论 -
leetcode--500. 键盘行
题目:500. 键盘行链接:https://leetcode-cn.com/problems/keyboard-row/好久没有写C++的代码了,外审意见也刚刚返回,很幸运评审意见都是略作修改后答辩。马上也要入职了,C++还是快点捡起来吧。C++:class Solution {private: vector<string> lines = {"qwertyuiop", "asdfghjkl", "zxcvbnm"};public: int findFirs原创 2020-05-11 16:51:16 · 307 阅读 · 1 评论 -
leetcode--9. Palindrome Number
题目:9. Palindrome Number链接:https://leetcode.com/problems/palindrome-number/description/判断回文数。要求不能使用额外内存空间(可能是O(1)空间的意思吧)。不想写了偷个懒。。。python:return str(x)==str(x)[::-1]原创 2017-11-24 18:35:16 · 244 阅读 · 0 评论 -
leetcode--10. Regular Expression Matching
题目:10. Regular Expression Matching链接:https://leetcode.com/problems/regular-expression-matching/description/题目要求实现正则表达式中的 “.” 和 “*” 。其中 “.” 可以匹配任意单个字符,“*” 可以匹配任意多个前缀字符(包括0个)。可以用递归写,假设当前需匹配字符串为s,模原创 2017-11-27 15:30:05 · 301 阅读 · 0 评论 -
leetcode--22. 括号生成
有一段时间没写了,再进leetcode发现有了中国区的网站。题目:22. 括号生成链接:https://leetcode-cn.com/problems/generate-parentheses/description/给定正整数N,要求输出N对括号的所有合法组合。之前总是把一对括号一起考虑,及在N-1对括号的基础上增加一对,于是当N=4的时候少了这种情况 (())(()),后面的递归结果自然就少...原创 2018-04-08 14:29:58 · 1978 阅读 · 1 评论 -
leetcode--23. 合并K个元素的有序链表
题目:23. 合并K个元素的有序链表链接:https://leetcode-cn.com/problems/merge-k-sorted-lists/description/给定K个有序链表,进行合并。最开始把上面的合并两个有序链表拿来用,结果超时了。于是想到了外部排序里面的败者树,过了。Python:# Definition for singly-linked list.# class Lis...原创 2018-04-09 20:14:21 · 424 阅读 · 0 评论 -
leetcode--24. 交换相邻结点
题目:24. 交换相邻结点链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/description/给定一个链表,两两交换相邻节点。比如1->2->3->4,交换结果为2->1->4->3。用两个指针换来换去。python:# Definition for singly-linked list.# ...原创 2018-04-10 11:57:12 · 199 阅读 · 0 评论 -
leetcode--25. 每k个一组翻转链表
题目:25. 每k个一组翻转链表链接:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/description/给定一个链表,每k个节点进行翻转,对于末尾不足k个节点的部分要保持原状。要求空间复杂度O(1)。比如对于链表1->2->3->4->5,当k=2的时候,返回2->1->4->3-&...原创 2018-04-10 15:13:06 · 884 阅读 · 0 评论 -
leetcode--8. String to Integer (atoi)
题目:8. String to Integer (atoi)链接:https://leetcode.com/problems/string-to-integer-atoi/description/将给定的字符串转为整数。需要考虑一些特殊的输入情况,比如前导空格要忽略正负号不忽略,要转换到最开始的非数字字符等。具体有哪些坑在题目下面列出了一部分,其他的瞎改通过了。python:cla原创 2017-11-24 18:13:58 · 316 阅读 · 0 评论 -
leetcode--7. Reverse Integer
题目:7. Reverse Integer链接:https://leetcode.com/problems/reverse-integer/description/反转给定的整数,如果反转后的结果超出32位整数的范围,返回零。python:class Solution(object): def reverse(self, x): """ :t原创 2017-11-24 16:51:26 · 187 阅读 · 0 评论 -
leetcode--6. ZigZag Conversion
题目:6. ZigZag Conversion链接:https://leetcode.com/problems/zigzag-conversion/description/嗯怎么说呢,大概是将字符串像拉链一样穿起来吧。Python:class Solution(object): def convert(self, s, numRows): """原创 2017-11-24 16:38:35 · 187 阅读 · 0 评论 -
leetcode--5. Longest Palindromic Substring
题目:5. Longest Palindromic Substring链接:https://leetcode.com/problems/longest-palindromic-substring/description/找到给定字符串的最长回文子串。写了O(n^2)的实现,搜了下有O(n)的算法,后面再来补上吧。python:class Solution(object):原创 2017-11-23 19:00:32 · 205 阅读 · 0 评论 -
leetcode--21. Merge Two Sorted Lists
题目:21. Merge Two Sorted Lists链接:https://leetcode.com/problems/merge-two-sorted-lists/description/在原链表的基础上合并两个有序链表。python:# Definition for singly-linked list.# class ListNode(object):# de原创 2017-12-01 21:51:51 · 197 阅读 · 0 评论 -
leetcode--20. Valid Parentheses
题目:20. Valid Parentheses链接:https://leetcode.com/problems/valid-parentheses/description/括号匹配。python:class Solution(object): def isValid(self, s): """ :type s: str :r原创 2017-12-01 21:48:54 · 187 阅读 · 0 评论 -
leetcode--19. Remove Nth Node From End of List
题目:19. Remove Nth Node From End of List链接:https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/大概意思是要删除单链表的倒数第N个结点,要求只能遍历一遍。那就先设置一个指针从前往后遍历到第N个结点,然后再设置一个指针从头开始同步遍历,第一个指针遍历到链尾原创 2017-12-01 21:46:55 · 186 阅读 · 0 评论 -
leetcode--3. Longest Substring Without Repeating Characters
题目:3. Longest Substring Without Repeating Characters链接:https://leetcode.com/problems/longest-substring-without-repeating-characters/description/找出给定字符串的无重复最长子串,返回子串长度。用了一个哈希表保存每个元素最后出现的位置,start指原创 2017-11-21 17:04:06 · 196 阅读 · 0 评论 -
leetcode--84. Largest Rectangle in Histogram
题目:84. Largest Rectangle in Histogram题目链接:https://leetcode.com/problems/largest-rectangle-in-histogram/description/题目意思是找到条形图中面积最大的矩形。用一个栈来保存递增的长度,当前位置的长度如果大于栈顶元素长度则入栈,否则退栈并计算面积,直到栈顶元素长度小于当前长度。代码里原创 2017-11-15 16:34:41 · 195 阅读 · 0 评论 -
leetcode--28. 实现strStr()
题目:28. 实现strStr()链接:https://leetcode-cn.com/problems/implement-strstr/description/在字符串haystack中寻找子串needle第一次出现的位置,若匹配失败返回-1。其实就是python字符串的find方法。下面是一个KMP算法:python:class Solution: def strStr(self, ...原创 2018-04-10 16:29:29 · 214 阅读 · 0 评论 -
leetcode--29. 两数相除
题目:29. 两数相除链接:https://leetcode-cn.com/problems/divide-two-integers/description/计算两个数相除的结果,要求不用乘除和取模。其实就是模拟手算吧,我用减法写的。python:class Solution: def divide(self, dividend, divisor): """ ...原创 2018-04-10 17:45:20 · 341 阅读 · 0 评论 -
leetcode--43. 字符串相乘
题目:43. 字符串相乘链接:https://leetcode-cn.com/problems/multiply-strings/description/模拟大整数乘法,给定的两个乘数为字符串格式。python:def myMulti(num1,num2): if num2[0]=="0" or num1[0]=="0": return "0" res,add=""...原创 2018-04-16 20:45:58 · 780 阅读 · 0 评论 -
leetcode--69. x 的平方根
题目:69. x 的平方根链接:https://leetcode-cn.com/problems/sqrtx/实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.828...原创 2018-10-18 17:47:48 · 403 阅读 · 0 评论 -
leetcode--67. 二进制求和
题目:67. 二进制求和链接:https://leetcode-cn.com/problems/add-binary/给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101.原创 2018-10-18 17:33:53 · 308 阅读 · 0 评论 -
leetcode--65. 有效数字
题目:65. 有效数字链接:https://leetcode-cn.com/problems/valid-number/验证给定的字符串是否为数字。例如:"0" => true" 0.1 " => true"abc" => false"1 a" => false"2e10" => true说明: 我们有意将问题陈述地比较模糊原创 2018-10-18 17:23:18 · 409 阅读 · 0 评论 -
leetcode--61. 旋转链表
题目:61. 旋转链表链接:https://leetcode-cn.com/problems/rotate-list/给定一个链表,将每个节点向右平移k个位置(k非负,尾节点补到开始位置),输出旋转后的链表。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NU...原创 2018-10-18 17:05:02 · 257 阅读 · 0 评论 -
leetcode--58. 最后一个单词的长度
题目:58. 最后一个单词的长度链接:https://leetcode-cn.com/problems/length-of-last-word/description/给出一个由空格和字母组成的字符串,返回这个字符串所包含的最后一个单词的长度。python:class Solution(object): def lengthOfLastWord(self, s): """...原创 2018-06-12 20:53:19 · 476 阅读 · 0 评论 -
leetcode--51. N皇后
题目:51. N皇后链接:https://leetcode-cn.com/problems/n-queens/description/给出N皇后的所有解。还是用了DFS,怎么优化也给忘了,原地踏步。python:class Solution(object): def solveNQueens(self, n): """ :type n: int ...原创 2018-06-12 20:39:22 · 456 阅读 · 0 评论 -
leetcode--52. N皇后 II
题目:52. N皇后 II链接:https://leetcode-cn.com/problems/n-queens-ii/description/求出N皇后的解的数量。似乎这个解的个数并没有什么计算公式,所以就把上一个题目改了一下。用的是dfs,记得以前看过一个高效的解法,但是给忘了。。。python:class Solution(object): ret = 0 def tota...原创 2018-06-12 20:36:38 · 555 阅读 · 2 评论 -
leetcode--49. 字母异位词分组
题目:49. 字母异位词分组链接:https://leetcode-cn.com/problems/group-anagrams/description/题目描述嗯写的很清楚了。给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ [&原创 2018-04-23 18:46:24 · 1208 阅读 · 0 评论 -
leetcode--47. 全排列 II
题目:47. 全排列 II链接:https://leetcode-cn.com/problems/permutations-ii/description/给定一个list(可能含有重复元素),返回其不重复的全排列。例如:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]python:import itertoolsclass Solution:...原创 2018-04-23 18:43:00 · 566 阅读 · 0 评论 -
leetcode--46. 全排列
题目:46. 全排列链接:https://leetcode-cn.com/problems/permutations/description/给定一个list(无重复元素),返回其全排列。python:import itertoolsclass Solution: def permute(self, nums): """ :type nums: List[...原创 2018-04-23 18:40:33 · 725 阅读 · 0 评论 -
leetcode--38. 数数并说
题目:38. 数数并说链接:https://leetcode-cn.com/problems/count-and-say/description/一个序列,第一项是1,我们读作1个1,于是下一项就是11。第二项不是11嘛,读作2个1,于是第三项是21,读作1个2,1个1,于是第四项是1211,这个又读作1个1,1个2,2个1,于是下一项就是111221...略略略...python:def get...原创 2018-04-13 10:45:17 · 888 阅读 · 0 评论 -
leetcode--44. 通配符匹配
题目:44. 通配符匹配链接:https://leetcode-cn.com/problems/wildcard-matching/description/给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。这个跟第十题(10. Regular Expression Match...原创 2018-04-18 14:36:30 · 889 阅读 · 0 评论 -
leetcode--37. 解数独
题目:leetcode--37. 解数独链接:https://leetcode-cn.com/problems/sudoku-solver/description/解数独,初始残局用 “ . ”表示空白格。以前考研那时候写过C语言的,递归求解。现在要在实参基础上改,不要返回结果,这样的话DFS加一个返回值判断就好了,当找到解的时候返回True,不再回溯。python:def isRowAndCol...原创 2018-04-12 15:30:00 · 1176 阅读 · 0 评论 -
leetcode--36. 有效的数独
题目:36. 有效的数独链接:https://leetcode-cn.com/problems/valid-sudoku/description/给定一个数独残局,判断是否合法(不一定要有解)。逐行逐列逐小方块遍历吧。python:class Solution: def isValidSudoku(self, board): """ :type board:...原创 2018-04-12 15:05:00 · 672 阅读 · 0 评论 -
leetcode--30. 与所有单词相关联的字串
题目:30. 与所有单词相关联的字串链接:https://leetcode-cn.com/problems/substring-with-concatenation-of-all-words/description/题目意思很明确啦:给定一个字符串 s 和一些长度相同的单词 words,找出 s 与 words 中所有单词(words 每个单词只出现一次)串联一起(words中组成串联串的单词的顺...原创 2018-04-11 13:51:16 · 894 阅读 · 0 评论 -
leetcode--17. Letter Combinations of a Phone Number
题目:17. Letter Combinations of a Phone Number链接:https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/按照九宫格的键盘,找到给定的一串数字对应的可能字符串。比如:Input:Digit string "23"Output: ["ad原创 2017-11-29 14:33:02 · 221 阅读 · 0 评论 -
leetcode--14. Longest Common Prefix
题目:14. Longest Common Prefix链接:https://leetcode.com/problems/longest-common-prefix/description/找到给定的若干个字符串的最长公共前缀。python:class Solution: def longestCommonPrefix(self, strs): """原创 2017-11-29 13:46:06 · 218 阅读 · 0 评论 -
leetcode.array--18. 4Sum
题目:18. 4Sum问题描述:https://leetcode.com/problems/4sum/description/大致意思呢就是在一个序列中找到四个数,使得这四个数相加等于target。写了一个N^3暴力查找,过了哈哈哈。只不过这个题目和之前几个一直在算加法Python:from collections import defaultdictclass Solution原创 2017-09-30 11:13:49 · 178 阅读 · 0 评论 -
leetcode.array--16. 3Sum Closest
问题:16. 3Sum Closest问题描述:https://leetcode.com/problems/3sum-closest/description/题目大致意思是说:给出一个序列,找出其中三个数,使得这三个数的和最接近给定的目标值target,输出这三个数的和。解题思路呢也比较明了,首先对序列排序,然后定下一个值nums[i],由于序列有序,后续的计算可以从两端向中间逼近,即原创 2017-09-29 22:18:10 · 200 阅读 · 0 评论