posts - 33,comments - 2,views - 11241

随笔分类 -  算法和数据结构

leetcode 1984. 学生分数的最小差值
摘要:题目: 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k 。从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最低分 的 差值 达到 最小化 。返回可能的 最小差值 。 示例 1: 输入:nums = [90], 阅读全文
posted @ 2022-02-16 14:53 李白菜 阅读(61) 评论(0) 推荐(0) 编辑
柱状图中最大的矩形
摘要:题目: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3] 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。 题 阅读全文
posted @ 2021-10-23 17:54 李白菜 阅读(17) 评论(0) 推荐(0) 编辑
在不使用第三个变量的情况下交换两个数的值
摘要:解法一:加减法 int a = 1, b = 10; a = a + b; // a = 1 + 10 = 11 b = a - b; // b = 11 - 10 = 1 a = a - b; // a = 11 - 1 = 10 这种解法是比较容易想到的方法,也比较好理解。 解法二:异或法 in 阅读全文
posted @ 2021-10-23 17:52 李白菜 阅读(93) 评论(0) 推荐(0) 编辑
leetcode 69. x 的平方根
摘要:题目: 实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被 阅读全文
posted @ 2021-04-22 16:40 李白菜 阅读(51) 评论(0) 推荐(0) 编辑
leetcode 11.盛水最多的容器
摘要:题目: 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 输入:[1,8 阅读全文
posted @ 2021-03-02 17:07 李白菜 阅读(31) 评论(0) 推荐(0) 编辑
leetcode 215. 数组中的第K个最大元素(常用排序算法的回顾)
摘要:题目: 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 题解: 当看到TOP K问题时,脑海中应立马想到堆排序。以这个题目来回顾下排序算法。在回顾排序算法前,我们来回顾下几个术语:时间复杂度、空间复杂度、稳定性。稳定性的定 阅读全文
posted @ 2021-02-24 17:06 李白菜 阅读(91) 评论(0) 推荐(0) 编辑
删除链表的倒数第 N 个结点
摘要:题目: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗? 题解: 看到题目首先想到的时候想到数组,因为数组删除第N个数的时间复杂度是O(1)。但是链表的存储空间不是连续的,无法通过下标直接定位到某个元素,链表的查询、删除都要一个一个节点遍历,查询删 阅读全文
posted @ 2021-02-19 15:45 李白菜 阅读(30) 评论(0) 推荐(0) 编辑
无重复字符的最长子串
摘要:题目: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 题解: 看到判断是否重复,我们首先应该想到Set,因为Set存储的是无重复的、无排序的元素。假如看到统计元素的个数,首先应该想到Map,只有使用了对的数据结构,才能使得我们的代码的运行效率更高,时间复杂度更低。在空间和时间的取 阅读全文
posted @ 2021-02-19 15:13 李白菜 阅读(133) 评论(0) 推荐(0) 编辑
两数相加
摘要:题目: 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 题解: 求和时把进位弄清楚了问题就变得简单了,这里不需要求出 阅读全文
posted @ 2021-02-19 14:51 李白菜 阅读(24) 评论(0) 推荐(1) 编辑
两数之和
摘要:题目: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。 题解: 遍历数组时,用HashMap记录当前数组下标和数组值 阅读全文
posted @ 2021-02-19 14:36 李白菜 阅读(12) 评论(0) 推荐(0) 编辑
无重叠区间
摘要:题目: 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 题解:贪心区间问题。先按边界排序,再比较后一个区间的起点是否前一个区间的终点重叠。代码如下: Java版 阅读全文
posted @ 2021-02-19 14:12 李白菜 阅读(31) 评论(0) 推荐(0) 编辑
用最少数量的箭引爆气球
摘要:题目: 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的 阅读全文
posted @ 2021-02-19 14:02 李白菜 阅读(28) 评论(0) 推荐(0) 编辑
买卖股票专题系列6---买卖股票的最佳时机含手续费
摘要:题目: 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持 阅读全文
posted @ 2021-02-19 11:45 李白菜 阅读(30) 评论(0) 推荐(0) 编辑
买卖股票专题系列5---最佳买卖股票时机含冷冻期
摘要:题目: 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): a.你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 b.卖出股票后,你无法在第二天买入股票 (即冷冻期为 阅读全文
posted @ 2021-02-19 11:31 李白菜 阅读(27) 评论(0) 推荐(1) 编辑
买卖股票专题系列4---买卖股票的最佳时机4
摘要:题目: 给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 题解: 该题是买卖股票3的升级版本,假若理解 阅读全文
posted @ 2021-02-19 11:01 李白菜 阅读(45) 评论(0) 推荐(0) 编辑
买卖股票专题系列3---买卖股票的最佳时机3
摘要:题目: 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 题解: 前面我们一起学习了买卖股票1、2的算法,分别对应只能交易1次,可以无限次交易的 阅读全文
posted @ 2021-02-19 10:22 李白菜 阅读(41) 评论(0) 推荐(0) 编辑
买卖股票专题系列2---买卖股票的最佳时机2
摘要:题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 题解: 由于可以交易多次,那么只要今天的股票价格比昨天的高,那么就交 阅读全文
posted @ 2021-02-19 09:50 李白菜 阅读(22) 评论(0) 推荐(0) 编辑
买卖股票专题系列1---买卖股票的最佳时机1
摘要:题目: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 阅读全文
posted @ 2021-02-19 09:36 李白菜 阅读(27) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示