acm
z6491679
这个作者很懒,什么都没留下…
展开
-
动态规划
解动态规划最重要的步骤个人觉得是找出描述子问题的数据结构,记住里面存储的是子问题的最终结果,而不是一个中间值。问题一:硬币找零假设有几种硬币,如1、3、5,并且数量无限。请找出能够组成某个数目的找零所使用最少的硬币数。解:找子结构,设sum[N]为找N元所需的最小硬币数,则若最后一个是找的3元,则sum[N - 3]一定是找N-3元钱所需硬币数的最优解,即: sum[N] =原创 2016-03-21 19:41:21 · 1448 阅读 · 0 评论 -
LeetCode 338 :Counting Bits
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1’s in their binary representation and return them as an array.Example: For num = 5 you sh原创 2016-03-30 10:46:17 · 292 阅读 · 0 评论 -
LeetCode 336. Palindrome Pairs
Given a list of unique words. Find all pairs of distinct indices (i, j) in the given list, so that the concatenation of the two words, i.e. words[i] + words[j] is a palindrome.Example 1: Given words =原创 2016-04-02 11:32:47 · 1167 阅读 · 0 评论 -
LeetCode334. Increasing Triplet Subsequence
Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array.Formally the function should: Return true if there exists i, j, k such that arr[i] < arr[j] <原创 2016-04-02 15:25:45 · 353 阅读 · 0 评论 -
欧拉通路332. Reconstruct Itinerary
解: 欧拉通路:遍历所有的边的一条路径 存在的充要条件: 2个点一个点出度大于入度(起始点),一个点入度大于出度(终止点) 或 所有点出度=入度(欧拉回路) 欧拉回路:遍历所有的边并回到初始点的一条回路 存在的充要条件: 所有点出度=入度(欧拉回路)此题即遍历所有的边的一条路径,并不一定要回到JFC,所以是求欧拉通路问题,用dfs其实就是套圈法: 1、用dfs一延边找点,由于题目说要原创 2016-04-05 14:09:09 · 572 阅读 · 0 评论 -
最长回文:LeetCode:5. Longest Palindromic Substring
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.解:朴素的想法是以i为中心,不断向2边寻找回文,用数组原创 2016-04-09 15:35:22 · 336 阅读 · 0 评论