摘要:
应该不用写啥。 也可以用有序哈希表LinkedHashMap,第二遍遍历哈希表。 剑指 Offer 50. 第一个只出现一次的字符 class Solution { public char firstUniqChar(String s) { Map<Character, Boolean> dic = 阅读全文
摘要:
思路一: 利用小根堆。 小根堆弹出的数是堆里最小的,于是弹出一个x。 就将2*x,3*x,5*x加入set去重,然后重新加入小根堆。 弹出的第n个数就是第n个丑数。 class Solution { public int nthUglyNumber(int n) { int[] factors = 阅读全文
摘要:
charAt返回指定索引处的字符。 转为字符数组toCharArray() 剑指 Offer 48. 最长不含重复字符的子字符串 class Solution { public int lengthOfLongestSubstring(String s) { HashMap<Character, I 阅读全文
摘要:
dp三步走: 1.状态定义 dp[i]表示到第i位能形成的方案数量(从1开始) 2.状态转移方程 当第i-1位,i位组合起来能被翻译:dp[i] = dp[i - 1] + dp[i - 2] 不能被连起来翻译:dp[i] = dp[i - 1] //指加上了这一位,方案数量没有改变 3.边界处理 阅读全文
摘要:
length是数组的属性,单独String用.length(),数组的属性就用.length。 这道题也只是知道策略,不知道怎么证明。 剑指 Offer 45. 把数组排成最小的数 class Solution { public String minNumber(int[] nums) { //这里 阅读全文