动态规划与贪心
动态规划与贪心
野生程序猿RW
2020年毕业于台湾科技大学(Taiwan Tech),后端开发工程师一枚。
展开
-
Rotate Function
396. Rotate Function You are given an integer array nums of length n. Assume arrk to be an array obtained by rotating nums by k positions clock-wise. We define the rotation function F on nums as follow: F(k) = 0 * arrk[0] + 1 * arrk[1] + ... + (n - 1) * ar原创 2022-04-22 22:22:00 · 270 阅读 · 0 评论 -
357. 统计各位数字都不同的数字个数(排列组合)
357. 统计各位数字都不同的数字个数 给你一个整数 n ,统计并返回各位数字都不同的数字 x 的个数,其中 0 <= x < 10n 。 示例 1: 输入:n = 2 输出:91 解释:答案应为除去 11、22、33、44、55、66、77、88、99 外,在 0 ≤ x < 100 范围内的所有数字。 示例 2: 输入:n = 0 输出:1 // n = 1 0到9 10位数 // n = 2 10 + 9 X 9 (第一个9是1-9,第二个9是0-9),第一个9因为不能原创 2022-04-11 22:29:39 · 291 阅读 · 0 评论 -
1005. K 次取反后最大化的数组和
1005. K 次取反后最大化的数组和 给你一个整数数组nums和一个整数k ,按以下方法修改该数组: 选择某个下标 i并将 nums[i]替换为-nums[i] 。 重复这个过程恰好k次。可以多次选择同一个下标i。 以这种方式修改数组后,返回数组 可能的最大和 。 示例 1: 输入:nums = [4,2,3], k = 1 输出:5 解释:选择下标 1 ,nums 变为 [4,-2,3] 。 示例 2: 输入:nums = [3,-1,0,2], k = 3 输出:6 解释:选择下标 (1, 2, 2原创 2021-12-03 22:03:05 · 290 阅读 · 0 评论 -
1218. 最长定差子序列(序列DP)
1218. 最长定差子序列 给你一个整数数组 arr和一个整数difference,请你找出并返回 arr中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。 子序列 是指在不改变其余元素顺序的情况下,通过删除一些元素或不删除任何元素而从arr派生出来的序列。 示例 1: 输入:arr = [1,2,3,4], difference = 1 输出:4 解释:最长的等差子序列是 [1,2,3,4]。 示例 2: 输入:arr = [1,3,5,7], difference = 1原创 2021-11-05 14:24:52 · 68 阅读 · 0 评论 -
575. 分糖果
575. 分糖果 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。 示例 1: 输入: candies = [1,1,2,2,3,3] 输出: 3 解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。 示例 2 : 输入: candies = [1,1,2,3] 输出: 2 解析: 妹妹获得原创 2021-11-01 16:45:48 · 52 阅读 · 0 评论 -
517. 超级洗衣机
517. 超级洗衣机 假设有n台超级洗衣机放在同一排上。开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的。 在每一步操作中,你可以选择任意 m (1 <= m <= n)台洗衣机,与此同时将每台洗衣机的一件衣服送到相邻的一台洗衣机。 给定一个整数数组 machines代表从左至右每台洗衣机中的衣物数量,请给出能让所有洗衣机中剩下的衣物的数量相等的 最少的操作步数 。如果不能使每台洗衣机中衣物的数量相等,则返回-1 。 示例 1: 输入:machines = [1,0,5] 输出:3 解释原创 2021-09-29 16:44:03 · 44 阅读 · 0 评论 -
583. 两个字符串的删除操作
583. 两个字符串的删除操作 给定两个单词word1和 word2,找到使得 word1和 word2相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 示例: 输入: "sea", "eat" 输出: 2 class Solution { public int minDistance(String word1, String word2) { int m = word1.length(), n = word2.length(); int[][] dp原创 2021-09-25 21:37:45 · 46 阅读 · 0 评论