随笔分类 -  最优化问题

摘要:问题描述 问题求解 本题还挺巧妙,有点类似两数和的扩展题。 对于两个线段,我们可以固定右线段,然后寻找左线段的最大值。 固定右线段使用到的算法是滑动窗口,寻找左线段最大值的算法是动态规划。 时间复杂度:O(n) class Solution: def maximizeWin(self, prizeP 阅读全文
posted @ 2024-09-11 18:17 hyserendipity 阅读(20) 评论(0) 推荐(0)
摘要:问题描述 给你一个长度为 n 的整数数组 rolls 和一个整数 k 。你扔一个 k 面的骰子 n 次,骰子的每个面分别是 1 到 k ,其中第 i 次扔得到的数字是 rolls[i] 。 请你返回 无法 从 rolls 中得到的 最短 骰子子序列的长度。 扔一个 k 面的骰子 len 次得到的是一 阅读全文
posted @ 2022-07-30 23:23 hyserendipity 阅读(42) 评论(0) 推荐(0)
摘要:问题描述 给你一个只包含小写英文字母的字符串 s 。 每一次 操作 ,你可以选择 s 中两个 相邻 的字符,并将它们交换。 请你返回将 s 变成回文串的 最少操作次数 。 注意 ,输入数据会确保 s 一定能变成一个回文串。 示例 1: 输入:s = "aabb" 输出:2 解释: 我们可以将 s 变 阅读全文
posted @ 2022-07-09 18:50 hyserendipity 阅读(107) 评论(0) 推荐(0)
摘要:问题描述 给你一个字符串 num 和一个整数 k 。其中,num 表示一个很大的整数,字符串中的每个字符依次对应整数上的各个 数位 。 你可以交换这个整数相邻数位的数字 最多 k 次。 请你返回你能得到的最小整数,并以字符串形式返回。 示例 1: 输入:num = "4321", k = 4 输出: 阅读全文
posted @ 2022-07-09 15:12 hyserendipity 阅读(49) 评论(0) 推荐(0)
摘要:问题描述 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 people 所表示的队列。返 阅读全文
posted @ 2022-07-06 19:59 hyserendipity 阅读(30) 评论(0) 推荐(0)
摘要:问题描述 给你一个 m x n 的整数网格图 grid ,你可以从一个格子移动到 4 个方向相邻的任意一个格子。 请你返回在网格图中从 任意 格子出发,达到 任意 格子,且路径中的数字是 严格递增 的路径数目。由于答案可能会很大,请将结果对 109 + 7 取余 后返回。 如果两条路径中访问过的格子 阅读全文
posted @ 2022-07-03 23:28 hyserendipity 阅读(74) 评论(0) 推荐(0)
摘要:问题描述 在第 1 天,有一个人发现了一个秘密。 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后,每天 给一个新的人 分享 秘密。同时给你一个整数 forget ,表示每个人在发现秘密 forget 天之后会 忘记 这个秘密。一个人 不能 在忘记秘密那一天及之后的日子里分 阅读全文
posted @ 2022-07-03 23:19 hyserendipity 阅读(77) 评论(0) 推荐(0)
摘要:2022-06-26 11:38:29 问题描述: 给你一个整数 n 。你需要掷一个 6 面的骰子 n 次。请你在满足以下要求的前提下,求出 不同 骰子序列的数目: 序列中任意 相邻 数字的 最大公约数 为 1 。 序列中 相等 的值之间,至少有 2 个其他值的数字。正式地,如果第 i 次掷骰子的值 阅读全文
posted @ 2022-06-26 11:49 hyserendipity 阅读(93) 评论(0) 推荐(0)
摘要:2022-06-24 23:03:42 问题描述 给你一个二进制字符串 s 和一个正整数 k 。 请你返回 s 的 最长 子序列,且该子序列对应的 二进制 数字小于等于 k 。 注意: 子序列可以有 前导 0 。空字符串视为 0 。子序列 是指从一个字符串中删除零个或者多个字符后,不改变顺序得到的剩 阅读全文
posted @ 2022-06-24 23:07 hyserendipity 阅读(56) 评论(0) 推荐(0)
摘要:2022-05-06 19:52:07 问题描述: 字符串的 引力 定义为:字符串中 不同 字符的数量。 例如,"abbca" 的引力为 3 ,因为其中有 3 个不同字符 'a'、'b' 和 'c' 。 给你一个字符串 s ,返回 其所有子字符串的总引力 。 子字符串 定义为:字符串中的一个连续字符 阅读全文
posted @ 2022-05-06 19:53 hyserendipity 阅读(77) 评论(0) 推荐(0)
摘要:2021-08-01 22:51:14 问题描述: 特殊序列 是由 正整数 个 0 ,紧接着 正整数 个 1 ,最后 正整数 个 2 组成的序列。 比方说,[0,1,2] 和 [0,0,1,1,1,2] 是特殊序列。相反,[2,1,0] ,[1] 和 [0,1,2,0] 就不是特殊序列。给你一个数组 阅读全文
posted @ 2021-08-01 22:53 hyserendipity 阅读(68) 评论(0) 推荐(0)
摘要:2021-08-01 22:01:47 问题描述: 给你 n 个项目,编号从 0 到 n - 1 。同时给你一个整数数组 milestones ,其中每个 milestones[i] 表示第 i 个项目中的阶段任务数量。 你可以按下面两个规则参与项目中的工作: 每周,你将会完成 某一个 项目中的 恰 阅读全文
posted @ 2021-08-01 22:02 hyserendipity 阅读(86) 评论(0) 推荐(0)
摘要:2020-05-31 18:00:06 问题描述: 给定长度为N的A数组,长度为K的BB数组你可以从A数组里取K个数规则如下,每次可以从A数组的最左边或者最右边取走一个数,取走的数从数组中移除 将取出的A_iA​i​​按取出的顺序 组成C数组求B与C的内积最大值 问题求解: 主要难点在于状态的定义, 阅读全文
posted @ 2020-05-31 18:04 hyserendipity 阅读(326) 评论(0) 推荐(0)
摘要:2020-05-17 16:31:41 问题描述: 给定一个正整数 n,找出小于或等于 n 的非负整数中,其二进制表示不包含 连续的1 的个数。 示例 1: 输入: 5输出: 5解释: 下面是带有相应二进制表示的非负整数<= 5:0 : 01 : 12 : 103 : 114 : 1005 : 10 阅读全文
posted @ 2020-05-17 16:36 hyserendipity 阅读(332) 评论(0) 推荐(0)
摘要:2020-05-17 09:03:13 问题描述: 给定正整数 N,返回小于等于 N 且具有至少 1 位重复数字的正整数的个数。 示例 1: 输入:20输出:1解释:具有至少 1 位重复数字的正数(<= 20)只有 11 。示例 2: 输入:100输出:10解释:具有至少 1 位重复数字的正数(<= 阅读全文
posted @ 2020-05-17 09:06 hyserendipity 阅读(333) 评论(0) 推荐(0)
摘要:2020-05-16 18:35:01 问题描述: 我们有一组排序的数字 D,它是 {'1','2','3','4','5','6','7','8','9'} 的非空子集。(请注意,'0' 不包括在内。) 现在,我们用这些数字进行组合写数字,想用多少次就用多少次。例如 D = {'1','3','5 阅读全文
posted @ 2020-05-16 18:38 hyserendipity 阅读(443) 评论(0) 推荐(0)
摘要:2020-05-07 16:17:23 问题描述: 给你一个正整数数组 arr,考虑所有满足以下条件的二叉树: 每个节点都有 0 个或是 2 个子节点。数组 arr 中的值与树的中序遍历中每个叶节点的值一一对应。(知识回顾:如果一个节点有 0 个子节点,那么该节点为叶节点。)每个非叶节点的值等于其左 阅读全文
posted @ 2020-05-07 16:18 hyserendipity 阅读(278) 评论(0) 推荐(0)
摘要:2020-05-06 13:40:13 问题描述: 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。 火车票有三种不同的销售方式: 一张为期一天的通行证售价为 costs[0] 美 阅读全文
posted @ 2020-05-06 13:42 hyserendipity 阅读(219) 评论(0) 推荐(0)
摘要:2020-05-04 17:21:37 55. 跳跃游戏 问题描述: 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位 阅读全文
posted @ 2020-05-04 17:22 hyserendipity 阅读(398) 评论(0) 推荐(0)
摘要:2020-05-03 09:28:14 问题描述: 总共有 n 个人和 40 种不同的帽子,帽子编号从 1 到 40 。 给你一个整数列表的列表 hats ,其中 hats[i] 是第 i 个人所有喜欢帽子的列表。 请你给每个人安排一顶他喜欢的帽子,确保每个人戴的帽子跟别人都不一样,并返回方案数。 阅读全文
posted @ 2020-05-03 09:31 hyserendipity 阅读(387) 评论(0) 推荐(0)