自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 leetcode 53.最大子序和(python)

leetcode 53.最大子序和(python)给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。方法 - 动态规划class Solution(object): def maxSubArray(self, nums):

2020-06-30 22:17:20 151

原创 leetcode 120.三角形最小路径和(python)

leetcode 120.三角形最小路径和(python)给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)

2020-06-30 22:01:37 270

原创 leetcode 1143.最长公共子序列(python)

leetcode 1143.最长公共子序列(python)给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:

2020-06-30 21:35:14 344

原创 leetcode 62.不同路径(python)

leetcode 62.不同路径(python)一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?示例 1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向右 -> 向下2. 向右 ->

2020-06-30 21:12:07 266

原创 leetcode 69.x的平方根(python)

leetcode 69.x的平方根(python)实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。方法 - 二分查找class Solution(object): def mySqrt(self, x):

2020-06-29 22:11:02 115

原创 leetcode 55.跳跃游戏(python)

leetcode 55.跳跃游戏(python)给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你

2020-06-17 23:44:31 321

原创 leetcode 122.买卖股票的最佳时机2(python)

leetcode 122.买卖股票的最佳时机2(python)给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。

2020-06-17 23:30:11 85

原创 leetcode 455.分发饼干(python)

leetcode 455.分发饼干(python)假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正。一个小朋友最多只能拥有一块饼干。示例 1:输入: [1,2,3

2020-06-17 23:17:30 282

原创 leetcode 200.岛屿数量(python)

leetcode 200.岛屿数量(python)给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3解释: 每座岛屿只能由水平和/或竖直方向上相邻的陆地连接而成。方法 - dfscl

2020-06-14 23:23:20 527

原创 leetcode 102.二叉树的层序遍历(python)

leetcode 102.二叉树的层序遍历(python)给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]方法1 - BFSclass Solution(object): def levelOrder(self, root

2020-06-13 14:48:39 107

原创 bfs代码

bfs代码#leetcodedef bfs(graph, start, end): queue = [] queue.append([start]) visited.add(start) while queue: node = queue.pop() visited.add(node) process(node) nodes = generate_related_nodes(node) queue.push(nodes) # other processing work

2020-06-13 12:54:30 454

原创 leetcode 51.n皇后(python)

leetcode 51.n皇后(python)n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1 "...Q", "Q...", "..Q."], ["..Q.", //

2020-06-10 23:47:08 149

原创 leetcode 17.电话号码的字母组合(python)

leetcode 17.电话号码的字母组合(python)给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。方法 - 分治class Solution(object): m = {

2020-06-10 23:02:44 333

原创 leetcode 78.子集(python)

leetcode 78.子集(python)给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。**说明:**解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]方法1分治class Solution(object): def subsets(self, nums): """

2020-06-10 22:24:31 144

原创 解决UIScrollView横向滑动和返回手势冲突

解决UIScrollView横向滑动和返回手势冲突[self.scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];

2020-06-10 10:49:21 422

原创 leetcode 50.Pow(x, n)(python)

leetcode 50.Pow(x, n)(python)实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有符号整数,其数值范围是 [−231, 231

2020-06-07 22:03:32 139

原创 leetcode 104.二叉树的最大深度(python)

leetcode 104.二叉树的最大深度(python)给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。方法:递归## @lc app=leetcode.cn id=104 lang=python## [104] 二叉树的最大深度#

2020-06-07 21:21:33 236

原创 leetcode 98.验证二叉搜索树(python)

leetcode 98.验证二叉搜索树(python)给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,n

2020-06-07 21:08:16 303

原创 leetcode 22.括号生成(python)

leetcode 22.括号生成(python)数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]方法1:递归## @lc app=leetcode.cn id=22 lang=python## [22] 括号生成## @lc

2020-06-07 20:47:22 186

原创 leetcode 94.二叉树的中序遍历(python)

leetcode 94.二叉树的中序遍历(python)给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?方法1:递归## @lc app=leetcode.cn id=94 lang=python## [94] 二叉树的中序遍历## @lc code=start# Definition for a binary tree

2020-06-07 08:49:08 407

原创 leetcode 1.两数之和(python)

leetcode 1.两数之和(python)给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法hashmap## @lc app=leetcode.cn id=1 lang

2020-06-06 23:25:00 159

原创 leetcode 49.字母异位词分组(python)

leetcode 49.字母异位词分组(python)给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。方法1:hashmap## @lc app=leetcode.cn id=49 l

2020-06-06 23:14:41 612

原创 leetcode 242.有效的字母异位词(python)

leetcode 242.有效的字母异位词(python)给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?方法1:暴力, sort(), 0(nlogn)#

2020-06-05 23:54:39 758

原创 leetcode 239.滑动窗口最大值(python)

leetcode 239.滑动窗口最大值(python)给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值---------------

2020-06-05 17:05:28 790 2

原创 leetcode 84.柱状图中的最大的矩形(python)

leetcode 84.柱状图中的最大的矩形(python)给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:输入: [2,1,5,6,2,3]输出: 10方法1:暴力求解## @lc app=leetcode.cn id=84 lang=p

2020-06-05 12:27:11 256

原创 leetcode 155.最小栈(python)

leetcode 155.最小栈(python)设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]

2020-06-05 09:33:33 109

原创 leetcode 20.有效的括号(python)

leetcode 20.有效的括号(python)给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: false示例 5:输入: "

2020-06-05 08:56:09 222

原创 leetcode 141.环形链表

leetcode 141.环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到第一个节点。示例 3:输入:hea

2020-06-04 22:51:13 113

原创 leetcode 206.反转链表

leetcode 206.反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?方法1迭代## @lc app=leetcode.cn id=206 lang=python## [206] 反转链表## @lc code=start# Definition for singly-link

2020-06-04 22:24:10 123

原创 leetcode 15.三数之和(python)

leetcode 15.三数之和(python)给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 *a,b,c ,*使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。**注意:**答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]a + b = -c方法1:暴力求解, 三重循环 0(n^3)#

2020-06-04 21:12:25 259

原创 leetcode 70.爬楼梯(python)

leetcode 70.爬楼梯(python)假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?**注意:**给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶方法1:就

2020-06-04 08:54:20 103

原创 leetcode 11. 盛最多水的容器(python)

leetcode 11. 盛最多水的容器(python)给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。**说明:**你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例:输入:[1,

2020-06-04 08:35:56 697

原创 leetcode 283.移动零(python)

leetcode 283.移动零(python)给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。方法1:循环, 统计0的个数class Solution(object): def moveZeroes(self, nums): """ :type nums: Lis

2020-06-03 23:51:04 219

原创 macos10.15provisionql失效

macos10.15provisionql失效brew cask reinstall provisionql重装也失败最后重新编译源码生效了, 估计是还没更新到cask上git clonehttps://github.com/ealeksandrov/ProvisionQL.git

2020-06-01 10:14:34 148

原创 macos10.15软件兼容解决

macos10.15软件兼容解决1.针对单个sudo xattr -rd com.apple.quarantine /Applications/MindNode.app2.针对所有csrutil disable // 关闭SIP

2020-06-01 09:24:09 869

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除