
算法
文章平均质量分 85
TripleEyeAlien
这个作者很懒,什么都没留下…
展开
-
【冲冲冲】LeetCode1894. 找到需要补充粉笔的学生编号
一个班级里有 n 个学生,编号为 0 到 n - 1 。每个学生会依次回答问题,编号为 0 的学生先回答,然后是编号为 1 的学生,以此类推,直到编号为 n - 1 的学生,然后老师会重复这个过程,重新从编号为 0 的学生开始回答问题。给你一个长度为 n 且下标从 0 开始的整数数组 chalk 和一个整数 k 。一开始粉笔盒里总共有 k 支粉笔。当编号为 i 的学生回答问题时,他会消耗 chalk[i] 支粉笔。如果剩余粉笔数量 严格小于 chalk[i] ,那么学生 i 需要 补充 粉笔。请你返回.原创 2021-09-10 16:47:49 · 158 阅读 · 0 评论 -
【冲冲冲】LeetCode68. 文本左右对齐
给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。文本的最后一行应为左对齐,且单词之间不插入额外的空格。说明:单词是指由非空格字符组成的字符序列。每个单词的长.原创 2021-09-10 16:36:06 · 171 阅读 · 0 评论 -
【冲冲冲】贪心来当leetcode CEO
假设 力扣(LeetCode)即将开始 IPO 。为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限,它只能在 IPO 之前完成最多 k 个不同的项目。帮助 力扣 设计完成最多 k 个不同项目后得到最大总资本的方式。给你 n 个项目。对于每个项目 i ,它都有一个纯利润 profits[i] ,和启动该项目需要的最小资本 capital[i] 。最初,你的资本为 w 。当你完成一个项目时,你将获得纯利润,且利润将被添加到你的总资本中。总而言之,.原创 2021-09-08 11:14:11 · 232 阅读 · 0 评论 -
Leetcode每日打卡之最小k个数(快排or大顶堆)
设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。示例:输入: arr = [1,3,5,7,2,4,6,8], k = 4 输出: [1,2,3,4] 提示:0 <= len(arr) <= 100000 0 <= k <= min(100000, len(arr))来源:力扣(LeetCode)前言今日的 leetcode 打卡题为面试题 17.14. 最小K个数,读完题就知道很简单了,选用任意一种排序方法,然后取前 k 个数返回即可。排序算法.原创 2021-09-03 19:28:58 · 277 阅读 · 0 评论 -
什么,leetcode easy级别?5种解法重拳出击
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。来源:力扣(LeetCode)示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.前言此题之前刷剑指 offer和 leetcode 时都有做过,leetcode 难度 e.原创 2021-09-02 15:06:48 · 802 阅读 · 0 评论 -
Leetcode165. 比较版本号
题目给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号 1 和修订号原创 2021-09-01 10:15:31 · 162 阅读 · 0 评论 -
Leetcode1109. 航班预订统计
前言最近leetcode的每日刷题都是前缀和类的,比较有连贯性。没有上来搞个hard打击人。本题用到了差分、前缀和,好记性不烂笔头,笔记之。欢迎点赞????????这里有 n 个航班,它们分别从 1 到 n 进行编号。有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi] 意味着在从 firsti 到 lasti (包含 firsti 和 lasti )的 每个航班 上预订了 seatsi 个座位。请你返回一个长度为原创 2021-08-31 15:44:38 · 230 阅读 · 0 评论 -
Leetcode528按权重随机选择解题思路
前言按权重随机选择在开发中是一个相对于其他leetcode题来说比较实用,且在日常开发中会见到和使用的算法,还是有现实场景应用的。所以今天leetcode每日刷题AC后,觉得还是有必要做个笔记总结下。Leetcode 528.按权重随机选择给定一个正整数数组 w ,其中 w[i] 代表下标 i 的权重(下标从 0 开始),请写一个函数 pickIndex ,它可以随机地获取下标 i,选取下标 i 的概率与 w[i] 成正比。例如,对于 w = [1, 3],挑选下标 0 的概率为 1 / (1 +原创 2021-08-30 17:59:18 · 553 阅读 · 0 评论 -
01背包问题及滚动数组优化空间
前言小M公司年会运气爆棚中奖,老板说给你一个容量w的蛇皮袋,去奖池里愉快的捞吧。奖池里的商品都独一份。袋子能装多少,就算中多少。不同奖品体积价格都不同,且每种奖品拿一次喔。小X心想这机会千载难逢,我咋薅才能让老板薅出血。这个场景中如果归纳到算法中来说,都是很典型的背包问题。都可简化为:有N个物品,这些物品有各自的体积W和价值V。现有已定容量的背包,求如何让背包里装入的物品价值总和最大?在解决此问题前,我们简单回顾一下dp的原理以及解决思路动态规划的原理动态规划(Dynamic Programm原创 2021-08-21 16:58:44 · 409 阅读 · 0 评论 -
经典算法之编辑距离算法
对Levenshtein距离算法的简介;算法用动态规划推导过程,具体代码实现;以及一些应用场景举例。原创 2021-06-30 01:18:22 · 483 阅读 · 0 评论