
算法
joaming
这个作者很懒,什么都没留下…
展开
-
我的算法之路47--二叉树中和为某一值的路径
# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: # 返回二维列表,内部每个列表表示找到的路径 def F...原创 2019-06-12 12:14:49 · 161 阅读 · 0 评论 -
我的算法之路37--01 矩阵
class Solution: def updateMatrix(self, matrix: List[List[int]]) -> List[List[int]]: stack=[] cor=[[1,0],[0,1],[-1,0],[0,-1]] for r in range(len(matrix)): for...原创 2019-05-31 14:11:16 · 155 阅读 · 0 评论 -
我的算法之路36--图像渲染
class Solution: def floodFill(self, image: List[List[int]], sr: int, sc: int, newColor: int) -> List[List[int]]: visited=[] pre=image[sr][sc] self.dp(image,sr,sc,newColo...原创 2019-05-31 11:01:44 · 651 阅读 · 0 评论 -
我的算法之路35--字符串解码
class Solution: def decodeString(self, s: str) -> str: l=[0] return self.dp(s,l) def dp(self,s,l): res='' n=len(s) while(l[0]<n and s[l[0]]!=...原创 2019-05-30 17:05:05 · 253 阅读 · 0 评论 -
我的算法之路32--机器人的运动范围
# -*- coding:utf-8 -*-class Solution: def movingCount(self, threshold, rows, cols): # write code here if rows<1 or cols<1 or threshold<0: return 0 vis...原创 2019-05-27 19:02:14 · 176 阅读 · 0 评论 -
我的算法之路31--矩阵中的路径
# -*- coding:utf-8 -*-class Solution: def hasPath(self, matrix, rows, cols, path): # write code here visited=[False for i in range(rows*cols)] if not matrix or rows<1 ...原创 2019-05-27 17:52:30 · 126 阅读 · 0 评论 -
我的算法之路30--对称的二叉树
# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def isSymmetrical(self, pRoot):...原创 2019-05-27 15:28:21 · 100 阅读 · 0 评论 -
我的算法之路29--二叉树的下一个结点
# -*- coding:utf-8 -*-# class TreeLinkNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None# self.next = Noneclass Solution: d...原创 2019-05-27 15:18:09 · 106 阅读 · 0 评论 -
我的算法之路28--克隆图
"""# Definition for a Node.class Node: def __init__(self, val, neighbors): self.val = val self.neighbors = neighbors"""class Solution: def cloneGraph(self, node: 'Node') -&...原创 2019-05-22 20:15:45 · 246 阅读 · 0 评论 -
我的算法之路27--树的子结构
# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def HasSubtree(self, pRoot1, pR...原创 2019-05-20 11:10:56 · 95 阅读 · 0 评论 -
我的算法之路25--有效的括号
class Solution(object): def isValid(self, s): """ :type s: str :rtype: bool """ left=[u'[',u'{',u'('] right=[u']',u'}',u')'] s=list(s) ...原创 2019-05-14 14:51:24 · 79 阅读 · 0 评论 -
我的算法之路38--钥匙和房间
class Solution: def canVisitAllRooms(self, rooms: List[List[int]]) -> bool: h_room=set() h_room.add(0) visited=[] for k in range(len(rooms[0])): self...原创 2019-05-31 14:52:01 · 221 阅读 · 0 评论 -
我的算法之路48--复杂链表的复制
# -*- coding:utf-8 -*-# class RandomListNode:# def __init__(self, x):# self.label = x# self.next = None# self.random = Noneclass Solution: # 返回 RandomListNode ...原创 2019-06-12 16:27:49 · 192 阅读 · 0 评论 -
我的算法之路39--删除链表中重复的结点
-*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def deleteDuplication(self, pHead): # write code here...原创 2019-06-06 12:19:01 · 125 阅读 · 0 评论 -
我的算法之路46--二叉搜索树的后序遍历序列
# -*- coding:utf-8 -*-class Solution: def VerifySquenceOfBST(self, sequence): # write code here length = len(sequence) if length == 0: return False if ...原创 2019-06-12 11:47:45 · 135 阅读 · 0 评论 -
我的算法之路45--栈的压入、弹出序列
# -*- coding:utf-8 -*-class Solution: def IsPopOrder(self, pushV, popV): # write code here stack=[] index=0 while index<len(popV): if popV[index] no...原创 2019-06-11 20:46:25 · 127 阅读 · 0 评论 -
我的算法之路44--包含min函数的栈
class Solution: def __init__(self): self.stack=[] self.minstack=[] def push(self, node): # write code here self.stack.append(node) if not self.minstack ...原创 2019-06-11 20:28:43 · 110 阅读 · 0 评论 -
我的算法之路43--顺时针打印矩阵
# -*- coding:utf-8 -*-class Solution: # matrix类型为二维列表,需要返回列表 def printMatrix(self, matrix): # write code here res=[] while matrix: res+=matrix.pop(0) ...原创 2019-06-11 17:40:44 · 137 阅读 · 0 评论 -
我的算法之路42--链表中环的入口结点
# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def EntryNodeOfLoop(self, pHead): # write code here...原创 2019-06-11 12:42:33 · 190 阅读 · 0 评论 -
我的算法之路41--表示数值的字符串
# -*- coding:utf-8 -*-class Solution: # s字符串 def isNumeric(self, s): # write code here if not s: return False i=0 if s[i] in ['+','-']: ...原创 2019-06-11 11:43:37 · 112 阅读 · 0 评论 -
我的算法之路48--字符串的排列
# -*- coding:utf-8 -*-class Solution: def Permutation(self, ss): # write code here if not ss: return [] ss=list(ss) l=[] stt='' self.dp...原创 2019-06-13 17:12:28 · 227 阅读 · 0 评论 -
我的算法之路49--二叉搜索树与双向链表
# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def Convert(self, pRootOfTree):...原创 2019-06-13 16:21:27 · 164 阅读 · 0 评论 -
我的算法之路34--用队列实现栈
class MyStack: def __init__(self): """ Initialize your data structure here. """ self.l1=[] self.l2=[] def push(self, x: int) -> None: """...原创 2019-05-29 16:19:52 · 218 阅读 · 0 评论 -
我的算法之路33--用栈实现队列
class MyQueue: def __init__(self): """ Initialize your data structure here. """ self.l1=[] self.l2=[] def push(self, x: int) -> None: """...原创 2019-05-29 16:01:11 · 106 阅读 · 0 评论 -
我的算法之路24--完全平方数
class Solution(object): def numSquares(self, n): """ :type n: int :rtype: int """ count=0 res=[n] while 0 not in res: count+=1...原创 2019-05-14 11:34:16 · 573 阅读 · 0 评论 -
我的算法之路23--缺失数字
class Solution: def missingNumber(self, nums: List[int]) -> int: l=len(nums) for i in range(len(nums)): l+=(i-nums[i]) return l原创 2019-04-23 20:30:38 · 164 阅读 · 0 评论 -
我的算法之路8--环形链表
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def hasCycle(self, head): ...原创 2019-04-17 16:56:25 · 112 阅读 · 0 评论 -
我的算法之路7--回文链表
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def isPalindrome(self, head: ListNode) -> ...原创 2019-04-17 16:42:20 · 179 阅读 · 0 评论 -
我的算法之路6--合并两个有序链表
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def mergeTwoLists(self, l1: ListNode, l2: Lis...原创 2019-04-17 16:08:43 · 121 阅读 · 0 评论 -
我的算法之路5--反转链表
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def reverseList(self, head: ListNode) -> L...原创 2019-04-17 15:58:35 · 125 阅读 · 0 评论 -
我的算法之路4-删除链表倒数K个节点
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def removeNthFromEnd(self, head: ListNode, n:...原创 2019-04-17 15:52:04 · 150 阅读 · 0 评论 -
某个公交站点有3辆公交车,分别是3分钟,5分钟,7分钟一趟,请问候车者车平均需要等多长时间可以做上车
换成数学语言描述一下,一个数轴上分布着分别以3、5、7为间隔距离的三组连续的分隔点,在数轴上随意取一点,求在其右边最近的分隔点离它的距离期望。记该距离为x,很显然x≤3。对于以3为间隔的间隔点组,随意在数轴选一点,由于此为均匀分布,选取点离右边最近间隔点距离小于a的概率为a/3。同理,对于以5为间隔的间隔点组,随意在数轴选一点,选取点离右边最近间隔点距离小于a的概率为a/5;对于以7为间隔的...转载 2019-04-17 14:54:45 · 1398 阅读 · 0 评论 -
我的算法之路14-- 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4class Solution: def singleNumber(self, nums: ...原创 2019-04-21 16:26:17 · 120 阅读 · 0 评论 -
我的算法之路1--快速排序(leetcode 75 Sort Colors)
第一种是快排解决办法class Solution { public void sortColors(int[] nums) { quickSort(nums,0,nums.length-1); } public void quickSort(int[] nums,int start,int end){ if (start...原创 2019-04-02 16:01:30 · 299 阅读 · 0 评论 -
我的算法之路4(leetcode 从排序数组中删除重复项)
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。class Solution { public int removeDuplicates(int[] nums) { int len=nums.length; in...原创 2019-04-10 12:14:09 · 166 阅读 · 0 评论 -
我的算法之路3-二分查找(leetcode704. 二分查找)
class Solution { public int search(int[] nums, int target) { int right=nums.length-1; int left=0; int mid=0; while(left<=right){ mid=(right+left)/2;...原创 2019-04-04 10:59:01 · 299 阅读 · 0 评论 -
我的算法之路9--二叉树的最大深度
# 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...原创 2019-04-17 20:46:22 · 124 阅读 · 0 评论 -
我的算法之路10-- 对称二叉树
# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def isSymmetric(s...原创 2019-04-17 21:30:04 · 148 阅读 · 0 评论 -
我的算法之路11--二叉树的层次遍历
# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def levelOrder(se...原创 2019-04-17 22:18:26 · 118 阅读 · 0 评论 -
我的算法之路22-- 帕斯卡三角形
class Solution(object): def generate(self, numRows): """ :type numRows: int :rtype: List[List[int]] """ if not numRows: return [] ln=[[1...原创 2019-04-23 19:00:22 · 244 阅读 · 0 评论