2015-11-19 algorithm 9.2 最长公共子序列问题给定两个字符串str1和str2,返回两个字符串的最长公共子序列。str1=“1A2C3D4B56”,str2=“B1D23CA45B6A”。“123456”或者“12C4B6”都是最长公共子序列,返回哪一个都行。 阅读全文...
2015-11-17 algorithm 9.1 最长递增子序列longest increasing subsequence给定数组arr,返回arr的最长递增子序列。arr=[2,1,5,3,6,4,8,9,7],返回的最长递增子序列为[1,3,4,8,9]。如果arr长度为N,请实现时间复杂度为O(NlogN)的方法。*子序列不一定连续,子串和子数组一定连续 阅读全文...
2015-11-16 algorithm 8.2 题目换钱的方法数 给定数组arr,arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求换钱有多少种方法。 arr=[5,10,25,1],aim=0。组成0元的方法有1种,就是所有面值的货币都不用。所以返回1。arr=[5,10,25,1],aim=15。组成15元的方法有6种,分别为3张5元,1张10元+1张5元,1张10元+5张1元,10张1元+1张5元,2张5元+5张1元,15张1元。所以返回6。arr=[3,5],aim=2。任何方法都无法组成2元。所以返回0。 阅读全文...
2015-11-16 algorithm 8.1 题目给定整数N,返回斐波那契数列的第N项。123456789public int f1(int n) { if (n < 1) { return 0; } if (n == 1 || n == 2) { return 1; } return f1(n - 1) + f1(n - 2);} 上面的时间复杂度是O(2^N)要求:时间复杂度O(logN)的解法 阅读全文...
2015-11-14 note jQuery练习 p1题目在页面中,添加一个<ul>元素,里面放置多个(至少7个以上)的`<li>元素,此外,再添加一个<a>元素. 初始时:<ul>元素中仅显示5个<li>元素,其中包含还包括最后一个<li>元素,元素中的显示”更多”字符. 当点击”更多”链接时,自身内容变为”简化”,同时,<ul>元素中显示全部的<... 阅读全文...