Algorithm[leetcode]
每一个有风的日子
这个作者很懒,什么都没留下…
展开
-
leetcode 461 Hamming Diatance(汉明距离) python3 一行代码(异或操作)
class Solution: def hammingDistance(self, x, y): """ :type x: int :type y: int :rtype: int """ # method one 强行一行解,代码可读性差,程序效率低 # ret原创 2018-06-02 18:24:59 · 550 阅读 · 0 评论 -
leecode 476 Number Complement (数字的补数) python3 多钟思路,一行代码 (位移操作 / 二进制与十进制的异或操作)
class Solution: def findComplement(self, num): """ :type num: int :rtype: int """ # method one 数据类型的转换较多,优雅,但低效 # return int(''.join(list(m原创 2018-06-02 19:02:47 · 574 阅读 · 0 评论 -
leetcode 728 Self Dividing Numbers(自除数) python3 多种解法(巧用取余和地板除,实现整数的位运算)
class Solution: def selfDividingNumbers(self, left, right): """ :type left: int :type right: int :rtype: List[int] """ # method one 思路清晰,但是效原创 2018-06-02 19:32:15 · 878 阅读 · 0 评论 -
leetcode 226. Invert Binary Tree(翻转二叉树) python3 一个漂亮的递归结构
# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def invertTree(se...原创 2018-06-03 07:58:40 · 475 阅读 · 0 评论 -
python 实现树结构的七种遍历
很好的复习树结构知识 python 实现树结构的七种遍历原创 2018-06-03 07:58:21 · 6765 阅读 · 2 评论 -
leetcode 70 Climbing Stairs (爬楼梯) python3 多种思路(Top down / Bottom up)
class Solution: # def __init__(self): # self.dic = {1:1, 2:2} def climbStairs(self, n): """ :type n: i原创 2018-05-26 20:42:04 · 688 阅读 · 0 评论 -
leetcode 204 Count Primes(计算质数) python3 多种思路(动态素数表/埃氏筛法/)
class Solution: def countPrimes(self, n): """ :type n: int :rtype: int """ # 思路一: 简单的遍历除以小于他的数,效率太低了!原创 2018-05-26 20:44:37 · 1459 阅读 · 2 评论 -
leetcode 136、137 、260 只出现一次的数字系列 python3 多种思路(巧用位运算)
class Solution: def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ # 思路一: 这种简单的遍历太笨拙了 TLE # for原创 2018-05-26 21:54:23 · 208 阅读 · 0 评论 -
leetcode 500 Keyboard row(键盘行) python3 多种思路(issubset() / all() 函数来判断子集)
class Solution: def findWords(self, words): """ :type words: List[str] :rtype: List[str] """ # metho原创 2018-06-03 07:59:55 · 688 阅读 · 0 评论 -
leetcode 557 Reverse Words in a String III(反转字符串中的单词 III) python3 多种思路,一行代码(列表元素 / 字符串的反序)
class Solution: def reverseWords(self, s): """ :type s: str :rtype: str """ # method one 利用字符串的反序以及分离拼接,一行搞定 # return原创 2018-06-03 09:04:17 · 563 阅读 · 0 评论 -
leetcode 292 Nim Game (Nim游戏) python3 多种思路(一行代码, 根据数学规律)
class Solution: def canWinNim(self, n): """ :type n: int :rtype: bool """ # method one 递归次数爆炸,不可行# if 0 < n < 4:#原创 2018-06-03 09:21:21 · 525 阅读 · 0 评论 -
leetcode 693 Binary Number with Alternating Bits(交替位二进) python3 一行代码(bin() / all() 函数的结合)
class Solution: def hasAlternatingBits(self, n): """ :type n: int :rtype: bool """ # method one 强行一行, 代码效率不够高. 40ms 93% # 重复了bin() 操作 , 不符原创 2018-06-03 09:37:34 · 286 阅读 · 0 评论 -
leetcode 189 Rotate array(旋转数组)python3 多种思路(数组切片)
class Solution: def rotate(self, nums, k): """ :type nums: List[int] :type k: int :rtype: void Do not return anything, modify nums in-place instead. "&原创 2018-05-27 09:57:25 · 2142 阅读 · 0 评论 -
leetcode 344 Reverse String (反转字符串) python3 最简代码(运用切片操作)
class Solution: def reverseString(self, s): """ :type s: str :rtype: str """ return s[::-1]原创 2018-05-27 10:01:41 · 790 阅读 · 0 评论 -
leetcode 278 First Bad Version(第一个错误的版本)C++ 二分法
// Forward declaration of isBadVersion API.bool isBadVersion(int version);class Solution {public: int firstBadVersion(int n) { int start = 1, end = n; while (start < end) {...原创 2018-05-27 10:07:48 · 403 阅读 · 0 评论 -
leetcode 206 Reserve Linked List(反转链表) python3 递归&迭代思路
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def reverseList(self, head, prev = None): ...原创 2018-05-27 10:24:46 · 1092 阅读 · 0 评论 -
leetcode 104 Maximum Deep of Binary Tree(二叉树的最大深度) python3 递归(非尾递归)
# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def maxDepth(self...原创 2018-05-27 10:32:22 · 305 阅读 · 2 评论 -
leetcode 26 Remove Duplicates form Sorted Array (删除排序数组中的重复项 ) python3 多种思路(巧用set)
class Solution: def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ # 思路一 # for i in range(len(nums)-1,0,-1):原创 2018-05-27 10:42:28 · 393 阅读 · 3 评论 -
leetcode 627. Swap Salary 交换工资 mySQL IF(a1,a2,a3) (CASE when ... then ...)
# Write your MySQL query statement below# method one (CASE when ... then ...) 语句的复习# UPDATE salary # SET sex = (CASE when sex='m' then 'f' else 'm' end)# method two IF(expr1,expr2...原创 2018-06-03 10:54:05 · 273 阅读 · 0 评论 -
leetcode 620 Not Boring Movies 有趣的电影 mySQL order by (DESC/ACE)
# Write your MySQL query statement below# 注意两个筛选条件的顺序影响效率select * from cinema where id % 2 = 1 and description != 'boring'order by rating DESC原创 2018-06-03 11:04:07 · 436 阅读 · 0 评论 -
leetcode 175 Combine Two Tables 组合两个表 mySQL left / right /inner join
# Write your MySQL query statement below# 复习 left join /right join / inner join 的知识# 左连会读取左边表格的所有数据(右边表格没有补null); 右连恰恰相反 ; inner可以省略,是默认值,取两个表格所共有的部分# 方法二比方法一更快一点,可能是不用检索对比列名?# method one# SEL...原创 2018-06-03 11:29:52 · 199 阅读 · 0 评论 -
leetcode 804 Unique Morse Code Words 唯一摩尔斯密码词 python3 最简代码 (ord() / chr() 操作ASCII码)
class Solution: def uniqueMorseRepresentations(self, words): """ :type words: List[str] :rtype: int """原创 2018-06-03 12:54:40 · 1166 阅读 · 2 评论 -
leetcode 001 Two Sum (两数之和) python3 两种思路(遍历数组两次/一次)
class Solution: def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ # 一个能原创 2018-05-27 13:54:21 · 3872 阅读 · 0 评论 -
leetcode 350 Intersection of Two Arrays II (两个数组的交集 II) python3 多种思路,最简代码
class Solution: def intersect(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] "&a原创 2018-05-28 08:35:38 · 705 阅读 · 0 评论 -
leetcode 387 First Unique Character in a String (字符串中的第一个唯一字符) python3 多种思路
class Solution: def firstUniqChar(self, s): """ :type s: str :rtype: int """ # 思路一: 最直观的双重循环想法, TLE# length = len(原创 2018-05-28 08:35:48 · 426 阅读 · 0 评论 -
leetcode 28 implement strStr() (实现strStr()) python3 多种思路(熟悉string的内建函数,str的切片操作)
class Solution: def strStr(self, haystack, needle): """ :type haystack: str :type needle: str :rtype: int """ # 思路一: 以主串为主干,进行一次遍历。边界条件比较多,不容原创 2018-05-28 14:47:10 · 643 阅读 · 0 评论 -
leetcode 657 Judge Route Circle (判断路线成圈) python3 最简代码
class Solution: def judgeCircle(self, moves): """ :type moves: str :rtype: bool """ if moves.count('U') == moves.count('D') and moves.count('L') == move原创 2018-05-29 12:39:04 · 228 阅读 · 2 评论 -
leetcode 7 Reverse Integer(反转整数) python3 两种解法(反转str/取余操作)
class Solution: def reverse(self, x): """ :type x: int :rtype: int """ # 思路一:利用字符串的反转(简单但效率略低) if x == 0 : return 0 # 单独处理返回0的情况,反转后有符号整数的范围,原创 2018-05-29 13:22:11 · 1011 阅读 · 0 评论 -
leetcode 14 最长公共前缀(Longest common prefix) python3 多种思路(sorted() / sort())
class Solution: def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ # 思路一: 一个笨方法# length = 0# leng = 10原创 2018-05-29 21:51:37 · 264 阅读 · 0 评论 -
leetcode 242. 有效的字母异位词(Vaild Anagram) python3 多种思路( count() / all() 函数 )
class Solution: def isAnagram(self, s, t): """ :type s: str :type t: str :rtype: bool """ # 相同种类,个数的字母组成,只是字母位置不一样原创 2018-05-30 13:31:17 · 439 阅读 · 0 评论 -
leetcode 125. 验证回文串(Valid Palindrome) python3 多种思路(re.sub() / 正则表达式 / list(filter(arg1,arg2)))
class Solution: def isPalindrome(self, s): """ :type s: str :rtype: bool """ # 思路一: 手写替换的字母,显然很蠢…… # import re原创 2018-05-30 20:45:24 · 997 阅读 · 0 评论 -
leetcode 258 add Digits 各位相加 python 多种思路,最简代码(整数与字符串、整数的位运算)
class Solution: def addDigits(self, num): """ :type num: int :rtype: int """ # method one 数字与字符串的转换 # while num > 9: #原创 2018-06-21 13:20:05 · 222 阅读 · 0 评论 -
leetcode 520. 检测大写字母 (Detect Capitcal) python3 最简代码(利用str内置函数,并且将条件放入返回值中)
class Solution: def detectCapitalUse(self, word): """ :type word: str :rtype: bool """ # 思路一 # if word.lower() == word or word.capitalize()原创 2018-05-31 13:00:29 · 540 阅读 · 0 评论 -
leetcode 66 Plus one (加一) python3 最简代码(int和str 转换)
class Solution: def plusOne(self, digits): """ :type digits: List[int] :rtype: List[int] """ # 思路一: 整数和字符的转换 return [int(i) for i in str(int原创 2018-05-31 21:18:29 · 675 阅读 · 0 评论 -
leetcode 217. Contains Duplicate (存在重复元素) python3 最简代码
class Solution: def containsDuplicate(self, nums): """ :type nums: List[int] :rtype: bool """ # 巧妙利用元组的特性 return len(nums) != len(set(nums))原创 2018-06-01 09:16:11 · 486 阅读 · 0 评论 -
leetcode 283. Move Zeros(移动零) python3 多种思路(移动零 / 移动非零)
class Solution: def moveZeroes(self, nums): """ :type nums: List[int] :rtype: void Do not return anything, modify nums in-place instead.原创 2018-06-01 09:52:03 · 1449 阅读 · 0 评论 -
leetcode 821. 字符的最短距离 Shortest Distance to a Character python 多种思路,最简代码
class Solution: def shortestToChar(self, S, C): """ :type S: str :type C: str :rtype: List[int] """ # method one 笨方法,计算量大 # dic = {}原创 2018-06-22 20:00:42 · 703 阅读 · 0 评论 -
leetcode 181. Employees Earning More Than Their Manager 超过经理收入的员工 SQL where/join 语句的复习
# Write your MySQL query statement below# method one where 语句# select # a.name AS 'Employee'# from # Employee AS a,# Employee AS b# where # a.ManagerId = b.Id# AND a...原创 2018-06-23 09:22:12 · 301 阅读 · 0 评论 -
leetcode 36 Vaild Soduku(有效的数独) python3 最简代码(单次循环)
class Solution: def isValidSudoku(self, board): """ :type board: List[List[str]] :rtype: bool """ # 思路一:复杂的分条判断 76ms# for i in range(9):#原创 2018-06-01 15:42:34 · 2683 阅读 · 4 评论 -
leetcode 496 Next Greater Element I 下一个更大元素 I python 多种思路(栈结构最简代码)
class Solution: def nextGreaterElement(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] ""&qu原创 2018-06-23 11:17:33 · 1058 阅读 · 0 评论