随笔分类 -  Leetcode

A category for recording algorithms
摘要:【9】背包问题的实际应用 1. 简单扩展,加上“最多可以放多少件物品或者最多可以装满多少背包的空间”类似的限制条件,同样可以先求出动态规划矩阵值,然后再在里面搜 2. 打印出最优方案,则需要对每一步动态规划过程,记录下它的选择g[i][v] 3. 输出字典序最小,N到1输入,需要注意的是,如果跳过i 阅读全文
posted @ 2016-04-27 16:46 CarlGoodman 阅读(941) 评论(0) 推荐(0)
摘要:【6】分组背包 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 主要是对01背包的原始循环进行理解,外层i代表了物品的遍及数,内层代表了 阅读全文
posted @ 2016-04-26 15:55 CarlGoodman 阅读(275) 评论(0) 推荐(0)
摘要:【1】01背包 N个物品,占容c[i],价值w[i],放入1个容量为V的背包,使得总价值最大 分析:每种物品仅有一件,可以选择放或不放 转移方程:opt[i][v] = max{opt[i - 1][v], opt[i - 1][v - c[i]] + w[i]} 复杂度:时间空间均为O(NV),空 阅读全文
posted @ 2016-04-25 13:53 CarlGoodman 阅读(538) 评论(0) 推荐(0)
摘要:Longest Palindromic Substring 最长回文子串 Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 100 阅读全文
posted @ 2016-04-22 17:39 CarlGoodman 阅读(177) 评论(0) 推荐(0)
摘要:Palindrome Partitioning I Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome par 阅读全文
posted @ 2016-04-20 16:20 CarlGoodman 阅读(188) 评论(0) 推荐(0)
摘要:Palindrome Number 回文数字 Determine whether an integer is a palindrome. Do this without extra space. 前期处理,首先负数/10的倍数,直接return false; 然后【1】直观做法是,知道N位数,根据v 阅读全文
posted @ 2016-04-19 20:19 CarlGoodman 阅读(255) 评论(0) 推荐(0)
摘要:atoi原型:int atoi(const char *nptr) atoi,需要考虑的内容: 1. 第一个字符为"-"时为负,系数为-1;为"+"时为正,系数为1 2. 无符号时,开始循环,根据isdigit判断是否位数字或者判断是否越界,不符合条件则return 最大/小值;符合条件则继续添加该 阅读全文
posted @ 2016-04-19 19:48 CarlGoodman 阅读(153) 评论(0) 推荐(0)
摘要:【Combination Sum I】 Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums t 阅读全文
posted @ 2016-04-05 18:03 CarlGoodman 阅读(191) 评论(0) 推荐(0)
摘要:Two Sum I Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input wou 阅读全文
posted @ 2016-04-03 22:34 CarlGoodman 阅读(192) 评论(0) 推荐(0)
摘要:除了各种Dijkstra,Floyd算法,很多寻路问题都是带有条件,很难应用类似方法,这时的通用做法是深搜剪枝 1. 如POJ1724, N个城市, 编号1到N。城市间有R条单向道路。 每条道路连接两个城市,有长度和过路费两个属性。 Bob只有K块钱,他想从城市1走到城市N。问最短共需要走多长的路。 阅读全文
posted @ 2016-03-29 19:21 CarlGoodman 阅读(569) 评论(0) 推荐(0)
摘要:这一系列求最优值的问题变种挺多 1. Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at m 阅读全文
posted @ 2016-03-28 23:51 CarlGoodman 阅读(141) 评论(0) 推荐(0)
摘要:Note: 子序列,可以不连续;子字符串,必须连续。 以下题目按在我看看来的难度从易到难排列: 最大和子序列(Maximum sum subsequence) 这道题纯属娱乐...应该不会有人出这种题吧。方案是贪心法,遇到正数就放入序列。 最大和子字符串(Maximum sum substring) 阅读全文
posted @ 2016-03-10 18:46 CarlGoodman 阅读(329) 评论(0) 推荐(0)
摘要:解法一,排序 先从大到小快排,然后扫前K个返回 时间复杂度:O(NlogN),空间复杂度O(1) 解法二,优先队列 前K个放入优先队列中,与最小堆顶元素比较大小,若大于则删除堆顶并插入;否则跳过 时间复杂度:O(NlogK),空间复杂度O(K) 解法三,堆调整 先将数组直接用完全二叉树存储,复杂度O 阅读全文
posted @ 2016-03-03 22:04 CarlGoodman 阅读(461) 评论(0) 推荐(0)
摘要:Unique Word Abbreviation 阅读全文
posted @ 2016-02-29 11:34 CarlGoodman 阅读(270) 评论(0) 推荐(0)
摘要:Range Sum Query 2D - Mutable 阅读全文
posted @ 2016-02-29 11:11 CarlGoodman 阅读(217) 评论(0) 推荐(0)
摘要:Alien Dictionary 阅读全文
posted @ 2016-02-28 23:50 CarlGoodman 阅读(195) 评论(0) 推荐(0)
摘要:Largest BST Subtree 阅读全文
posted @ 2016-02-27 22:23 CarlGoodman 阅读(173) 评论(0) 推荐(0)
摘要:One Edit Distance 阅读全文
posted @ 2016-02-27 22:15 CarlGoodman 阅读(170) 评论(0) 推荐(0)
摘要:Missing Ranges 阅读全文
posted @ 2016-02-27 16:23 CarlGoodman 阅读(237) 评论(0) 推荐(0)
摘要:Read N Characters Given Read4 阅读全文
posted @ 2016-02-27 15:41 CarlGoodman 阅读(181) 评论(0) 推荐(0)