今天两题 都不会,泪目
class Solution { public int translateNum(int num) { String src = String.valueOf(num); int p = 0, q = 0, r = 1; for (int i = 0; i < src.length(); ++i) { p = q; q = r; r = 0; r += q; if (i == 0) { continue; } String pre = src.substring(i - 1, i + 1); if (pre.compareTo("25") <= 0 && pre.compareTo("10") >= 0) { r += p; } } return r; } }
这题写了一遍不知道为啥就是有点小问题,还是copy答案方便~~~,
这题不太明白,后面花点时间研究下啊。
class Solution { public int lengthOfLongestSubstring(String s) { Map<Character, Integer> dic = new HashMap<>(); int res = 0, tmp = 0; for(int j = 0; j < s.length(); j++) { int i = dic.getOrDefault(s.charAt(j), -1); // 获取索引 i dic.put(s.charAt(j), j); // 更新哈希表 tmp = tmp < j - i ? tmp + 1 : j - i; // dp[j - 1] -> dp[j] res = Math.max(res, tmp); // max(dp[j - 1], dp[j]) } return res; } }