【leetcode-排序】最大数 题目: 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 示例 1: 输入:[10,2] 输出:210 示例 2: 输入:[3,...
例如,给定数字312,我们可以删除一位数字,使得剩下的数字组成的最大数为32。如果给定数字为12321,则可以删除任意一个数字,使得剩下的数字组成的新数最大。 解决思路: 要解决删除重复数字后的最大数字问题,我们可以使用贪心算法。具体来说,我们可以从左到右遍历数字的每一位,用一个栈(栈中元素从顶到底依次递减)...
定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要求从同一个数组中取出的数字保持其在原数组中的相对顺序。 求满足该条件的最大数。结果返回一个表示该最大数的长度为 k 的数组。 说明: 请尽...
Two Sum 两数之和 Grandyang刷尽天下 125 0 13:05 [LeetCode] 2. Add Two Numbers 两个数字相加 Grandyang刷尽天下 94 0 08:40 [LeetCode] 21. Merge Two Sorted Lists 合并两个有序链表 Grandyang刷尽天下 96 0 13:09 [LeetCode] 29. Divide Two Integers 两数相除 Grandyang刷尽天下 112...
leetcode-168周赛-1297-子串的最大出现次数 题目描述: 自己的提交: classSolution:defmaxFreq(self, s: str, maxLetters: int, minSize: int, maxSize: int) ->int: c=collections.Counter()foriinrange(len(s)-minSize+1):iflen(set(s[i:i+minSize])) <=maxLetters:...
思路: 1.由于题目未给定数字的长度,因此需要字符串模拟来表示大整数,用C/C++基本类型是表示不出来的,我试过long long过了大概50个样例,就溢出了。 2.模拟大数相加,在本题中,就是一个大数加1。 AC代码(C++): 代码语言:javascript 复制 class Solution { public: vector<int> plusOne(vector<int> &digits)...
例如,对于数组[-2,1,-3,4,-1,2,1,-5,4],最大子序列和为6,对应的子序列为[4,-1,2,1]。 接下来,我们将介绍动态规划算法的解法。动态规划算法的基本思想是将问题分解成若干个子问题,然后通过求解子问题的最优解来得到原问题的最优解。对于这个问题,我们可以定义一个状态数组dp,其中dp[i]表示以第i...
从前往后遍历要删除的数的位置 i ,如果number[i] 就是 digit ,且 number[i] < number[i + 1] ,那么删除该位形成的数必定最大。 假设number 为 xxcaxx ,其中 c 是可删除的数,共有 3 种情况: c == a: 则删除 c 和删除 a 形成的结果一样,可以暂时不删除 c < a: 删除后面的 c 形成的结果为...
dp[i]:以nums[i]结尾的连续数列最⼤和;转移⽅程:dp[i]=max(dp[i],dp[i]+dp[i-1]);⼀个数是否加⼊数列取决于前⾯的数列和是否⼤于0;var dp = nums;dp[i]+=Math.Max(nums[i-1], 0);将nums数组⾃⾝作为dp数组使⽤;更新dp[i]的同时寻找最⼤值max;var maxSubArray = ...