02 2020 档案

力扣二分法题目
摘要:1 划分标准要用函数来计算 1283. 使结果不超过阈值的最小除数 875. 爱吃香蕉的珂珂 2 直接由结果进行二分的题 410. 分割数组的最大值 3 滑窗类的二分法题目, 658. 找到 K 个最接近的元素 本题直接对滑窗左端点做二分是最快的解法,不要先求和再二分,而是应该直接比较滑窗两端数字的 阅读全文

posted @ 2020-02-29 11:22 吃我一枪 阅读(267) 评论(0) 推荐(0)

力扣动态相似题目
摘要:1 对动态转移方程的变量进行了分离,减少了重复计算 123买卖股票的最佳时机III 和 1014. 最佳观光组合 2 贪心类的动态规划 1363. 形成三的最大倍数 3 典型的二维dp题 410. 分割数组的最大值 1335. 工作计划的最低难度 4 数学 高中排序组合 1359. 有效的快递序列数 阅读全文

posted @ 2020-02-29 10:47 吃我一枪 阅读(224) 评论(0) 推荐(0)

875爱吃香蕉的珂珂
摘要:题目:珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。珂珂可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的 阅读全文

posted @ 2020-02-28 23:30 吃我一枪 阅读(388) 评论(0) 推荐(0)

410分割数组的最大值
摘要:题目:给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。 链接:https://leetcode-cn.com/problems/split-array-largest-sum/ 法一:自己的代码 超时,不能用 思路 阅读全文

posted @ 2020-02-28 22:55 吃我一枪 阅读(237) 评论(0) 推荐(0)

1335工作计划的最低难度
摘要:题目:你需要制定一份 d 天的工作计划表。工作之间存在依赖,要想执行第 i 项工作,你必须完成全部 j 项工作( 0 <= j < i)。你每天 至少 需要完成一项任务。工作计划的总难度是这 d 天每一天的难度之和,而一天的工作难度是当天应该完成工作的最大难度。给你一个整数数组 jobDifficu 阅读全文

posted @ 2020-02-28 21:43 吃我一枪 阅读(291) 评论(0) 推荐(0)

287寻找重复数
摘要:题目:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。链接:https://leetcode-cn.com/problems/find-the-duplicate-number 阅读全文

posted @ 2020-02-28 18:24 吃我一枪 阅读(169) 评论(0) 推荐(0)

69X的平方根
摘要:题目:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 法一:自己的代码 思路:这道题虽然简单,但方法很灵活,这类问题主要是两点的配合,一是循环结束条件,是左闭右开还是左闭右闭,二是mid取左中位 阅读全文

posted @ 2020-02-28 16:16 吃我一枪 阅读(380) 评论(0) 推荐(0)

力扣相似题目
摘要:一 动态规划 1 1335工作计划的最低难度,410分割数组的最大值 二 链表 1 141 142 阅读全文

posted @ 2020-02-27 23:29 吃我一枪 阅读(117) 评论(0) 推荐(0)

解决Linux虚拟机内 /mnt/hgfs路径下文件为空问题
摘要:解决vmware tools成功安装并且共享文件路径也成功设置后虚拟机/mnt/hgfs文件目录下仍为空(对应windows操作系统的该目录下不为空)别嫌说的太啰嗦,这是给小白看的!!所以过于详细!1、打开终端以下为root用户操作,如果为普通用户,先执行以下操作终端输入:su root然后会提示输 阅读全文

posted @ 2020-02-26 19:36 吃我一枪 阅读(3769) 评论(0) 推荐(1)

154寻找旋转排序数组中的最小值II
摘要:题目: 法一:自己的代码 思路:同153一样,只不过如果遇到相等的,先缩小范围直到不相等, from typing import List class Solution: def findMin(self, nums: List[int]) -> int: left = 0 right = len( 阅读全文

posted @ 2020-02-24 20:10 吃我一枪 阅读(153) 评论(0) 推荐(0)

153寻找旋转排序数组中的最小值
摘要:题目: 法一:自己的代码 思路:同寻找目标值的索引一样,通过对左端点值右端点值和中间值关系进行分类,如果右边大于左边可直接结束,但右边小于左边还需要继续分类判断 from typing import List class Solution: def findMin(self, nums: List[ 阅读全文

posted @ 2020-02-24 17:08 吃我一枪 阅读(159) 评论(0) 推荐(0)

5325包含所有三种字符的子字符串数目
摘要:题目:给你一个字符串 s ,它只包含三种字符 a, b 和 c 。请你返回 a,b 和 c 都 至少 出现过一次的子字符串数目。 链接:https://leetcode-cn.com/problems/number-of-substrings-containing-all-three-charact 阅读全文

posted @ 2020-02-24 11:27 吃我一枪 阅读(412) 评论(0) 推荐(0)

704二分查找
摘要:题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。链接:https://leetcode-cn.com/problems/binary-search 法一:参考别人写的两种方 阅读全文

posted @ 2020-02-23 21:38 吃我一枪 阅读(196) 评论(0) 推荐(0)

34在排序数组中查找元素的第一个和最后一个位置
摘要:题目:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。链接:https://leetcode-cn.com/problems/find- 阅读全文

posted @ 2020-02-23 20:35 吃我一枪 阅读(197) 评论(0) 推荐(0)

278第一个错误的版本
摘要:题目:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool 阅读全文

posted @ 2020-02-23 19:25 吃我一枪 阅读(102) 评论(0) 推荐(0)

81搜索旋转排序数组II
摘要:题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。链接:https://leetcode-cn.com/ 阅读全文

posted @ 2020-02-22 22:29 吃我一枪 阅读(142) 评论(0) 推荐(0)

33搜索旋转排序数组
摘要:题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O( 阅读全文

posted @ 2020-02-22 16:54 吃我一枪 阅读(189) 评论(0) 推荐(0)

35搜索插入位置
摘要:题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。 链接:https://leetcode-cn.com/problems/search-insert-position/ 法一: 思路:两种方法, 阅读全文

posted @ 2020-02-22 12:11 吃我一枪 阅读(258) 评论(0) 推荐(0)

二分法
摘要:在二分法中经常需要除2,在python可以用 >> 来实现, a = 15 # 这里进行的是位运算,右移是除,左移是乘,并且除的时候如果除不尽是向下取整 print(a >> 1) print(a >> 2) print(a << 1) # 7 # 3 # 30 View Code ttt 阅读全文

posted @ 2020-02-20 17:07 吃我一枪 阅读(181) 评论(0) 推荐(0)

474一和零
摘要:题目:在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。注意: 给定 阅读全文

posted @ 2020-02-19 15:25 吃我一枪 阅读(274) 评论(0) 推荐(0)

322零钱兑换
摘要:题目:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。链接:https://leetcode-cn.com/problems/coin-change 法一:自己的代码 思路:动态规划, 阅读全文

posted @ 2020-02-18 20:58 吃我一枪 阅读(168) 评论(0) 推荐(0)

123买卖股票的最佳时机III
摘要:题目:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。链接:https://leetcode-cn.com/problems/best-tim 阅读全文

posted @ 2020-02-18 19:22 吃我一枪 阅读(215) 评论(0) 推荐(0)

122买卖股票的最佳时机II
摘要:题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。链接:https://leetcode-cn.com/problems/ 阅读全文

posted @ 2020-02-15 19:55 吃我一枪 阅读(143) 评论(0) 推荐(0)

121买卖股票的最佳时机
摘要:题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。链接:https://leetcode-cn.com/problems/best-time-to-buy 阅读全文

posted @ 2020-02-15 15:53 吃我一枪 阅读(103) 评论(0) 推荐(0)

213打家劫舍II
摘要:题目:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动 阅读全文

posted @ 2020-02-14 16:40 吃我一枪 阅读(218) 评论(0) 推荐(0)

198打家劫舍
摘要:题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。链接:htt 阅读全文

posted @ 2020-02-14 13:56 吃我一枪 阅读(105) 评论(0) 推荐(0)

334递增的三元子序列
摘要:题目:给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1, 使得 arr[i] < arr[j] < arr[k] ,返回 true ; 否则返回 false 。说明: 要求算法的时 阅读全文

posted @ 2020-02-14 13:26 吃我一枪 阅读(157) 评论(0) 推荐(0)

152乘积最大子序列
摘要:题目:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 来源:https://leetcode-cn.com/problems/maximum-product-subarray/ 法一:别人代码 思路:由于想用动态规划解题,通过观察数字可以发现从nums[i 阅读全文

posted @ 2020-02-14 11:46 吃我一枪 阅读(157) 评论(0) 推荐(0)

827最大人工岛
摘要:题目:在二维地图上, 0代表海洋, 1代表陆地,我们最多只能将一格 0 海洋变成 1变成陆地。进行填海之后,地图上最大的岛屿面积是多少?(上、下、左、右四个方向相连的 1 可形成岛屿)链接:https://leetcode-cn.com/problems/making-a-large-island 阅读全文

posted @ 2020-02-13 17:05 吃我一枪 阅读(208) 评论(0) 推荐(0)

yield用法
摘要:1 一个带有 yield 的函数就是一个 generator,它和普通函数不同,生成一个 generator 看起来像函数调用,但不会执行任何函数代码,直到对其调用 next()(在 for 循环中会自动调用 next())才开始执行。虽然执行流程仍按函数的流程执行,但每执行到一个 yield 语句 阅读全文

posted @ 2020-02-13 16:15 吃我一枪 阅读(975) 评论(0) 推荐(0)

1328破坏回文串
摘要:题目:给你一个回文字符串 palindrome ,请你将其中 一个 字符用任意小写英文字母替换,使得结果字符串的字典序最小,且 不是 回文串。请你返回结果字符串。如果无法做到,则返回一个空串。链接:https://leetcode-cn.com/problems/break-a-palindrome 阅读全文

posted @ 2020-02-12 23:09 吃我一枪 阅读(203) 评论(0) 推荐(0)

413等差数列划分
摘要:题目:如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,以下数列为等差数列:1, 3, 5, 7, 97, 7, 7, 73, -1, -5, -9以下数列不是等差数列。1, 1, 2, 5, 7数组 A 包含 N 个数,且索引从0开始。数组 A 的一个子数组划分 阅读全文

posted @ 2020-02-12 21:11 吃我一枪 阅读(219) 评论(0) 推荐(0)

1218最长定差子序列
摘要:题目:给你一个整数数组 arr 和一个整数 difference,请你找出 arr 中所有相邻元素之间的差等于给定 difference 的等差子序列,并返回其中最长的等差子序列的长度。链接:https://leetcode-cn.com/problems/longest-arithmetic-su 阅读全文

posted @ 2020-02-12 18:34 吃我一枪 阅读(203) 评论(0) 推荐(0)

1027最长等差数列
摘要:题目:给定一个整数数组 A,返回 A 中最长等差子序列的长度。回想一下,A 的子序列是列表 A[i_1], A[i_2], ..., A[i_k] 其中 0 <= i_1 < i_2 < ... < i_k <= A.length - 1。并且如果 B[i+1] - B[i]( 0 <= i < B 阅读全文

posted @ 2020-02-11 19:51 吃我一枪 阅读(267) 评论(0) 推荐(0)

446等差数列划分II-子序列
摘要:题目:如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,以下数列为等差数列:1, 3, 5, 7, 97, 7, 7, 73, -1, -5, -9以下数列不是等差数列。1, 1, 2, 5, 7数组 A 包含 N 个数,且索引从 0 开始。该数组子序列将划分为整 阅读全文

posted @ 2020-02-11 17:35 吃我一枪 阅读(472) 评论(0) 推荐(0)

130被围绕的区域
摘要:题目:给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 来源:https://leetcode-cn.com/problems/surrounded-regions/ 法一:自己的代码 思路:先绕外围走一圈,将 阅读全文

posted @ 2020-02-10 21:40 吃我一枪 阅读(112) 评论(0) 推荐(0)

695岛屿的最大面积
摘要:题目:给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。) 来源:https://leetcode-cn 阅读全文

posted @ 2020-02-10 20:59 吃我一枪 阅读(224) 评论(0) 推荐(0)

200岛屿数量
摘要:题目:给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 来源:https://leetcode-cn.com/problems/number-of-islands/ 法 阅读全文

posted @ 2020-02-10 15:27 吃我一枪 阅读(168) 评论(0) 推荐(0)

5314跳跃游戏IV
摘要:题目:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。每一步,你可以从下标 i 跳到下标: i + 1 满足:i + 1 < arr.length i - 1 满足:i - 1 >= 0 j 满足:arr[i] == arr[j] 且 i != j请你返回到达数组最后一个元素 阅读全文

posted @ 2020-02-09 20:53 吃我一枪 阅读(241) 评论(0) 推荐(0)

375猜数字大小II
摘要:题目:我们正在玩一个猜数游戏,游戏规则如下:我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。直到你猜到我选的数字,你才算赢得了这个游戏。 来源:https:// 阅读全文

posted @ 2020-02-08 18:04 吃我一枪 阅读(437) 评论(0) 推荐(0)

464我能赢吗
摘要:题目:在 "100 game" 这个游戏中,两名玩家轮流选择从 1 到 10 的任意整数,累计整数和,先使得累计整数和达到 100 的玩家,即为胜者。如果我们将游戏规则改为 “玩家不能重复使用整数” 呢?例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的整数(不放回),直到累计整数和 >= 阅读全文

posted @ 2020-02-06 11:55 吃我一枪 阅读(236) 评论(0) 推荐(0)

486预测赢家
摘要:题目:给定一个表示分数的非负整数数组。 玩家1从数组任意一端拿取一个分数,随后玩家2继续从剩余数组任意一端拿取分数,然后玩家1拿,……。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢 阅读全文

posted @ 2020-02-06 10:37 吃我一枪 阅读(182) 评论(0) 推荐(0)

877石子游戏
摘要:题目:亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中 阅读全文

posted @ 2020-02-06 10:05 吃我一枪 阅读(223) 评论(0) 推荐(0)

1000合并石头的最低成本
摘要:题目:有 N 堆石头排成一排,第 i 堆中有 stones[i] 块石头。每次移动(move)需要将连续的 K 堆石头合并为一堆,而这个移动的成本为这 K 堆石头的总数。找出把所有石头合并成一堆的最低成本。如果不可能,返回 -1 。 来源:https://leetcode-cn.com/proble 阅读全文

posted @ 2020-02-02 22:39 吃我一枪 阅读(229) 评论(0) 推荐(0)

5329数组大小减半
摘要:题目:给你一个整数数组 arr。你可以从中选出一个整数集合,并删除这些整数在数组中的每次出现。返回 至少 能删除数组中的一半整数的整数集合的最小大小。 来源:https://leetcode-cn.com/problems/reduce-array-size-to-the-half/ 法一:自己的代 阅读全文

posted @ 2020-02-02 18:05 吃我一枪 阅读(239) 评论(0) 推荐(0)

5331跳跃游戏V
摘要:题目:给你一个整数数组 arr 和一个整数 d 。每一步你可以从下标 i 跳到: i + x ,其中 i + x < arr.length 且 0 < x <= d 。 i - x ,其中 i - x >= 0 且 0 < x <= d 。除此以外,你从下标 i 跳到下标 j 需要满足:arr[i] 阅读全文

posted @ 2020-02-02 17:13 吃我一枪 阅读(170) 评论(0) 推荐(0)

1039多边形三角剖分的最低得分
摘要:题目:给定 N,想象一个凸 N 边多边形,其顶点按顺时针顺序依次标记为 A[0], A[i], ..., A[N-1]。假设您将多边形剖分为 N-2 个三角形。对于每个三角形,该三角形的值是顶点标记的乘积,三角剖分的分数是进行三角剖分后所有 N-2 个三角形的值之和。返回多边形进行三角剖分后可以得到 阅读全文

posted @ 2020-02-01 12:39 吃我一枪 阅读(275) 评论(0) 推荐(0)

导航