题目来源: "领扣 | LintCode" 有 i 个物品和一个总容量为 j 的背包. 给定数组 weight 表示每个物品的重量和数组 value 表示每个物品的价值,求最大价值。(物品不能分割) 背包问题II 这道题是一道动态规划(dp)算法的基础题,有两种实现方式,分别是递归和递推(迭代),前 ...
分类:
其他好文 时间:
2019-12-15 12:28:45
阅读次数:
83
利用Set去重,然后再利用from,转换成数组 const unique = (arr) => Array.from( new Set(arr) ); 遍历,判断当前项的下标与在数组中第一次出现的下标做比较 const unique = (arr) => { let ret = []; for(le ...
分类:
其他好文 时间:
2019-11-15 20:11:52
阅读次数:
55
代码如下: class UF(object): def __init__(self,email_lists): self.id={} self.sz={} self.name={} self.emails={} for email,name in email_lists.items(): self. ...
分类:
其他好文 时间:
2019-11-14 15:18:01
阅读次数:
75
8.Rotate String "lintcode" 题解: c++ class Solution { public: / @param str: An array of char @param offset: An integer @return: nothing / void rotateStr ...
分类:
其他好文 时间:
2019-11-02 14:12:18
阅读次数:
129
本篇文章仅记录在平时刷题过程中,让人眼前一亮的处理思路,所以本篇文章适合算法爱好者阅读及参考,没有算法功底的程序猿们,建议不用花费太多的时间在本篇文章 1,题目描述:给定一个字符串数组,请根据“相同字符集”进行分组(摘自 LintCode 49) 例 :Input: ["eat", "tea", " ...
分类:
编程语言 时间:
2019-10-25 13:19:47
阅读次数:
94
LintCode 81. Data Stream Median (Hard)思路: 用一个大根堆保存较小的一半数, 一个小根堆保存较大的一半数. 每次根据num和两个堆顶的数据决定往哪个堆里面放. 放完后进行平衡确保两个堆的size差不超过1. 利用两个堆的size和堆顶值计算median.大根堆可... ...
分类:
其他好文 时间:
2019-10-22 10:30:20
阅读次数:
68
37. 反转一个3位整数 反转一个只有3位数的整数。 反转一个只有3位数的整数。 反转一个只有3位数的整数。 样例 样例 1: 输入: number = 123 输出: 321 样例 2: 输入: number = 900 输出: 9 样例 样例 1: 输入: number = 123 输出: 32 ...
分类:
其他好文 时间:
2019-10-03 00:56:29
阅读次数:
87
Lintcode 1. A + B Problem Solution: 接下来来分析一下这个程序设计的思路: 对于加法 : a + b 按照这个程序的思路可以把加法分为两个部分: 第一个部分:不产生进位的时候的和 第二个部分:一个可以用来表示这一次加法运算中所有进位的数 根据上面的描述: 第一部分: ...
分类:
其他好文 时间:
2019-09-30 16:53:58
阅读次数:
105
题目1:LintCode 108 Palindrome Partitioning II 题目2:LintCode 108 Palindrome Partitioning II 将字符串每一段划分成字符串最少划分几次 划分最少,也就是回文串最长 确定状态: 最后一段回文串S[j..N-1] 需要知道S ...
分类:
其他好文 时间:
2019-09-16 00:16:10
阅读次数:
87
找特殊情况,分类讨论:三种情况 1)两个字符串的长度之差 大于1 直接返回false; 2)长度之差等于1, 判断长的字符串删掉不一样的字符,剩余的字符串是否相同; 3)长度之差等于0,判断不相同的字符个数,若超过一个返回false。 题意:API :int read4(char *buf) 每次读 ...
分类:
其他好文 时间:
2019-09-01 21:53:14
阅读次数:
119