
LeetCode
归遇卿
不会写代码的码农......
展开
-
leetcode Top100: 相交链表
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def getIntersectionNode(self, headA, headB): if headA == None or headB == ...原创 2020-08-15 16:00:07 · 160 阅读 · 0 评论 -
leetCode Top100:找到数组中消失的数字
class Solution(object): def findDisappearedNumbers(self, nums): for i in range(len(nums)): index=abs(nums[i])-1 if nums[index]>0: nums[index]*=-1 result=[] for i in range(1,len(nums)...原创 2020-08-15 15:38:01 · 180 阅读 · 0 评论 -
leetCode Top100:二叉搜索树转变为累加树
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): def __init__(self): self.total=0 def conve...原创 2020-08-15 15:12:31 · 130 阅读 · 0 评论 -
LeetCode Top100:合并两个有序数组
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution(object): def mergeTwoLists(self, l1, l2): if l1==None and l2==None:...原创 2020-08-15 14:52:27 · 183 阅读 · 0 评论 -
Leetcode Top100:移动0
class Solution(object): def moveZeroes(self, nums): count=0 for i in range(len(nums)): if nums[i]==0: count+=1 else: nums[i-count]=nums[i] for j in range(len(nums)-1,len...原创 2020-08-13 09:20:48 · 155 阅读 · 0 评论 -
Leetcode Top100:多数元素
class Solution(object): def majorityElement(self, nums): dict={} if len(nums)==1: return nums[0] for i in range(len(nums)): name_list=list(dict.keys()) if nums[i] not in name_list: ...原创 2020-08-12 09:24:18 · 138 阅读 · 0 评论 -
LeetCode Top100:只出现一次数字
class Solution(object): def singleNumber(self, nums): num=[] for i in range(len(nums)): if nums[i] in num: num.remove(nums[i]) else: num.append(nums[i]) return num[0]...原创 2020-08-10 11:19:24 · 144 阅读 · 0 评论 -
LeetCode Top100:反转链表
class Solution(object): def reverseList(self, head): pre=None temp=ListNode() while head: temp=head.next head.next=pre pre=head head=temp return pre原创 2020-08-10 10:43:54 · 146 阅读 · 0 评论 -
Leetcode Top100:计算二叉树深度
class Solution(object): def maxDepth(self, root): if not root: return 0 return max(self.maxDepth(root.left),self.maxDepth(root.right))+1原创 2020-08-10 10:24:52 · 198 阅读 · 0 评论 -
LeetCode Top100:反转二叉树
class Solution(object): def invertTree(self, root): if not root: return root temp=TreeNode() temp.left=root.left root.left=root.right root.right=temp.left self.invertTree(root.left) ...原创 2020-08-10 10:09:24 · 157 阅读 · 1 评论 -
leedCode Top100:合并二叉树
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。链接:https://leetcode-cn.com/problems/merge-two-binary-treesclass Solution(object): def mergeTrees(self, t1, t2): .原创 2020-08-10 09:50:53 · 131 阅读 · 0 评论 -
LeetCode Top100:汉明距离
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。代码:class Solution(object): def hammingDistance(self, x, y): return(bin(x^y).count('1'))...原创 2020-08-09 10:33:54 · 153 阅读 · 0 评论 -
LeetCode刷题之路:合并两个有序数组
题目:给你两个有序整数数组nums1 和 nums2,请你将 nums2 合并到nums1中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出: [1,2,2,3,5,6]来源链接:h...原创 2020-07-13 14:48:05 · 216 阅读 · 0 评论 -
LeetCode刷题之路:删除排序数组中的重复项
题目:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成来源链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array实例:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你.原创 2020-07-12 18:44:58 · 175 阅读 · 0 评论 -
LeetCode刷题之路:最长连续递增数列
题目:给定一个未经排序的整数数组,找到最长且连续的的递增序列,并返回该序列的长度。示例:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。来源链接:https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence。代码:class Solutio..原创 2020-07-12 18:32:34 · 473 阅读 · 0 评论 -
LeetCode刷题之路:缺失的数字
题目描述:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。链接:https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof输入: [0,1,3]输出: 2题解:使用循环的方式查找是否缺少0~n-1之间的值,如果有则返回,否则既缺少最后的n-1值。class Solution(object): def.原创 2020-07-11 20:30:00 · 367 阅读 · 0 评论 -
LeetCode刷题之路:高度检查器
题目描述:学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。链接:https://leetcode-cn.com/problems/height-checker样例:输入:heights = [1,1,4,2,1,3]输出:3解释:当前数组:[1,1,4,2,1,3]目标数组:[1,1,1,2,3,4]在.原创 2020-07-11 18:19:54 · 270 阅读 · 0 评论 -
LeetCode刷题之路:大小为K且平均值大于等于阈值的子数组数组
给你一个整数数组arr和两个整数 k和 threshold。请你返回长度为 k且平均值大于等于threshold的子数组数目。题目描述:输入:arr = [2,2,2,2,5,5,5,8], k = 3, threshold = 4输出:3解释:子数组 [2,5,5],[5,5,5] 和 [5,5,8] 的平均值分别为 4,5 和 6 。其他长度为 3 的子数组的平均值都小于 4 (threshold 的值)。题目链接:https://leetcode-cn.com/proble...原创 2020-07-11 10:26:42 · 249 阅读 · 0 评论