上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页

2020年3月11日

力扣二叉树题目

摘要: 1关键是要不断比较,计算当前节点的最大直径,并返回左右子树的最大值, 543. 二叉树的直径 2 迭代不难,递归的关键是要学会对深度的表示,递归时每次记录深度,可以观察出先遍历右子树时,当前的最大深度总是出现在最右边,所以可以记录到过的最大深度,每当第一次到达最大深度时,就记录值,而这里恰恰可以用r 阅读全文

posted @ 2020-03-11 12:13 吃我一枪 阅读(75) 评论(0) 推荐(0) 编辑

力扣数组题目

摘要: 1 1013. 将数组分成和相等的三个部分 简单题,利用双指针左右遍历,注意右指针要大于左指针的结束位置,时间复杂度O(N),空间复杂度为常数 2 169. 多数元素 想要用字典统计每个元素出现的次数时,可以用collections模块的Counter()方法,找最大值可以用most_common( 阅读全文

posted @ 2020-03-11 11:25 吃我一枪 阅读(117) 评论(0) 推荐(0) 编辑

2020年3月10日

剑指offer

摘要: 3 最优解法空间复杂度为O(1),注意要充分利用题中数的范围特征 面试题03. 数组中重复的数字 4 对于查找数的题,不要只会想到二分,有的查找题并不适合二分法查找, 面试题04. 二维数组中的查找 5 字符串题目,很简单,直接暴力查找即可 面试题05. 替换空格 6 链表简单题,学会用递归和栈两种 阅读全文

posted @ 2020-03-10 10:43 吃我一枪 阅读(104) 评论(0) 推荐(0) 编辑

2020年3月9日

力扣状态压缩题目

摘要: 1这个题中由于五个元音的分布情况多,用动态规划难以实现,于是可以用五个状态来标记五个元音,使用异或来实现如果状态是偶数次,则会和之前的状态相同,进而确定最长的满足条件的字符串,, 1371. 每个元音包含偶数次的最长子字符串 2这个题有两个条件,一是同一行中,左右不能有人,二是上一行已经确定时,下一 阅读全文

posted @ 2020-03-09 21:46 吃我一枪 阅读(194) 评论(0) 推荐(0) 编辑

2020年3月5日

力扣深度优先搜索题目

摘要: 1带记忆化的深度优先搜索,注意这里只需判断是否增大即可,无需记录两个点,因为题目要求的是单增的序列,所以只判断是否增大也不会出现重复遍历的可能, 329. 矩阵中的最长递增路径 2 有一个技巧是一旦遍历过某个位置是1了,就将其置为0,也就是在原数组上修改,可以节省空间。使用队列时要用 from co 阅读全文

posted @ 2020-03-05 18:44 吃我一枪 阅读(369) 评论(0) 推荐(0) 编辑

力扣堆题目

摘要: 1 堆排序,没学会,利用快速排序原理,时间复杂度为O(n) 方法:先确定目标值的索引位置k,从第一个数开始,利用快速排序的原理,先确定第一个数排序后的索引位置,利用二分法与k比较缩小搜索区间,重复上述过程,直到到达位置k为止,返回位置k的值, 215. 数组中的第K个最大元素 2 阅读全文

posted @ 2020-03-05 16:45 吃我一枪 阅读(174) 评论(0) 推荐(0) 编辑

2020年3月4日

力扣广度优先搜索题目

摘要: 1学会使用yield来遍历四个方向,广度搜索时常用布尔矩阵来记录是否遍历过, 994. 腐烂的橘子 2 网格类的问题一般是用dp,深度优先,广度优先这三个解法,这道题不能用dp解,应该用广度优先,从头开始遍历时,为了先把箭头指向的都遍历完,每次遍历四个方向时,要先把方向指向的放入队列的最前面,这样就 阅读全文

posted @ 2020-03-04 16:01 吃我一枪 阅读(194) 评论(0) 推荐(0) 编辑

力扣数学题目

摘要: 1 只有因子2和5相乘可以构成0,由于因子2的个数必定大于等于5,故等价于求因子5的个数,含因子5的数有两个规律,一是个位为0或5的数必含因子5,这是个充要条件,二是整除25的有两个5,整除125的有3个5 172. 阶乘后的零 2 考察了等差数列的性质,可以不用二分法直接算出项数n来,更省时间些, 阅读全文

posted @ 2020-03-04 14:43 吃我一枪 阅读(137) 评论(0) 推荐(0) 编辑

2020年3月3日

Linux面经

摘要: 1 什么是shell? Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。Shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,它和 QQ、迅雷、Firefox 等其它软件没有什 阅读全文

posted @ 2020-03-03 20:21 吃我一枪 阅读(1028) 评论(0) 推荐(0) 编辑

双指针题目

摘要: 1在原数据上直接修改更省空间 面试题 10.01. 合并排序的数组 2可以直接推导数学公式解,也可以用双指针法,还没写代码 面试题57 - II. 和为s的连续正数序列 3 可以证明移动左右指针中较大的一定不会达到最优解,或者说移动没有意义,故每次移动较小的,这种题的暴力解法是用二维dp,但时间复杂 阅读全文

posted @ 2020-03-03 13:02 吃我一枪 阅读(112) 评论(0) 推荐(0) 编辑

2020年3月2日

链表题目

摘要: 1 有三种方法,递归的时候要注意每次递归函数结束时保留了哪些量, 206. 反转链表 2 对于链表的倒序问题首先想到用栈处理,两数相加问题要考虑进位,学会节点倒着添加的技巧,先把生成的新节点连接到旧链表上,再将新节点赋值给旧链表的头, 445. 两数相加 II 3 上面445题是倒这相加,这个是顺着 阅读全文

posted @ 2020-03-02 12:40 吃我一枪 阅读(107) 评论(0) 推荐(0) 编辑

2020年3月1日

力扣哈希表题目

摘要: 1 周赛的一道题,纯粹的暴力也能过,周赛第一题优先用暴力解更省时, 5344. 有多少小于当前数字的数字 阅读全文

posted @ 2020-03-01 19:53 吃我一枪 阅读(108) 评论(0) 推荐(0) 编辑

排序题目

摘要: 1 熟练运用sorted函数,理解其可以对list排序的写法,做题前要审清题意,这个题不是直接把名次相加再求和比较大小 5345. 通过投票对团队排名 2 用贪心和指针的思想都很容易解决, 这两题很像,57也可用二分 57. 插入区间 56. 合并区间 495. 提莫攻击 3 利用一个栈和一个队列实 阅读全文

posted @ 2020-03-01 17:19 吃我一枪 阅读(119) 评论(0) 推荐(0) 编辑

2020年2月29日

力扣二分法题目

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

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

力扣动态相似题目

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

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

2020年2月28日

875爱吃香蕉的珂珂

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

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

410分割数组的最大值

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

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

1335工作计划的最低难度

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

posted @ 2020-02-28 21:43 吃我一枪 阅读(274) 评论(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 吃我一枪 阅读(159) 评论(0) 推荐(0) 编辑

69X的平方根

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

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

2020年2月27日

力扣相似题目

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

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

2020年2月26日

解决Linux虚拟机内 /mnt/hgfs路径下文件为空问题

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

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

2020年2月24日

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 吃我一枪 阅读(149) 评论(0) 推荐(0) 编辑

153寻找旋转排序数组中的最小值

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

posted @ 2020-02-24 17:08 吃我一枪 阅读(154) 评论(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 吃我一枪 阅读(394) 评论(0) 推荐(0) 编辑

2020年2月23日

704二分查找

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

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

34在排序数组中查找元素的第一个和最后一个位置

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

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

278第一个错误的版本

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

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

2020年2月22日

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 吃我一枪 阅读(139) 评论(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 吃我一枪 阅读(186) 评论(0) 推荐(0) 编辑

35搜索插入位置

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

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

2020年2月20日

二分法

摘要: 在二分法中经常需要除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 吃我一枪 阅读(165) 评论(0) 推荐(0) 编辑

2020年2月19日

474一和零

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

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

2020年2月18日

322零钱兑换

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

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

123买卖股票的最佳时机III

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

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

2020年2月15日

122买卖股票的最佳时机II

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

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

121买卖股票的最佳时机

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

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

2020年2月14日

213打家劫舍II

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

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

198打家劫舍

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

posted @ 2020-02-14 13:56 吃我一枪 阅读(101) 评论(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 吃我一枪 阅读(150) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页

导航