望着时间滴答滴答的流过,我不曾改变过 . . .

04 2019 档案

摘要:只能说还是太菜,抄的网上大神的做法: idea: 1. mask 的每一位代表该位字母够不够k次,够k次为0,不够为1 2. 对于每一位将其视为起点,遍历至末尾,找到其最大满足子串T的下标max_idx,之后从max_idx+1开始遍历。 代码如下: java public int longestS 阅读全文
posted @ 2019-04-27 16:01 whyaza 阅读(166) 评论(0) 推荐(0)
摘要:搬运工了 https://blog.csdn.net/jmspan/article/details/51460021 阅读全文
posted @ 2019-04-27 14:22 whyaza 阅读(210) 评论(0) 推荐(0)
摘要:A题: 一道dp的题目 dp[i][j] = k 代表 i行放j个棋子有k中可能 dp[i][j] = dp[i 1][0] + dp[i 1][1] + dp[i 1][2] +...dp[i 1][j] 初始 dp[1][0] = 1, dp[1][1] = 1 注意点: 1. BigInteg 阅读全文
posted @ 2019-04-19 09:49 whyaza 阅读(208) 评论(0) 推荐(0)
摘要:idea: 1.从后向前找 2.while (tx ty) tx = ty; 替为 % 操作 3.经过循环后,必定只有两种情况才true 1. sx == tx && sy sx && ty sy){ if (tx ty) tx %= ty; else ty %= tx; } return sx = 阅读全文
posted @ 2019-04-17 14:19 whyaza 阅读(153) 评论(0) 推荐(0)
摘要:很强的一道题! 核心点: 1.右括号多了? 怎么删除能够避免重复?比如())怎么避免删除的重复。s.charAt(j) == par[1] && (j == last_j || s.charAt(j 1) != par[1]) 此条件就能紧紧的限制住! s要删除的时候,必须得是右括号,要不就是第一个 阅读全文
posted @ 2019-04-17 12:06 whyaza 阅读(143) 评论(0) 推荐(0)
摘要:看到这道题目,求脱困的最短路径,首先就想到了bfs, 但是这里有一点不同的是(难受的是): 1.他有10扇门,10把钥匙,怎么去拿钥匙去开门,钥匙和门怎么对应? 2.同样一个点,拿到钥匙a,b,c的时候,和只拿到钥匙b。这样的时候明显是不同的。 因为 : 这个时候,如果遇到了门A,拿到钥匙a,b,c 阅读全文
posted @ 2019-04-12 09:25 whyaza 阅读(439) 评论(0) 推荐(0)
摘要:注意点: java split 分割'.' 要进行转义 java public int compareVersion(String version1, String version2) { String[] sv1 = version1.split("\\."); String[] sv2 = ve 阅读全文
posted @ 2019-04-09 14:25 whyaza 阅读(114) 评论(0) 推荐(0)
摘要:```java import java.io. ; import java.util. ; public class Main{ public static int patch(int[] h,int[] w){ Arrays.sort(h); Arrays.sort(w); int res = 0 阅读全文
posted @ 2019-04-08 22:28 whyaza 阅读(171) 评论(0) 推荐(0)
摘要:解题的思路并不复杂:模拟算数的乘法运算过程 但是一次直接AC还是比较困难的。 注意点: 1.进位 每一轮的进位最终存在的话,还需要加上 2.高位和低位的存储问题 3.输入,输出问题 输出ACM,采用System,out.println(); java import java.io. ; import 阅读全文
posted @ 2019-04-08 17:24 whyaza 阅读(189) 评论(0) 推荐(0)
摘要:利用快慢指针: 这里快指针要走n+1步,会出现走过界的情况,就在他们前面加入一个start节点,完全不影响,因为slow和fast始终差n. java public ListNode removeNthFromEnd(ListNode head, int n) { //利用快慢指针 ListNode 阅读全文
posted @ 2019-04-08 14:22 whyaza 阅读(101) 评论(0) 推荐(0)
摘要:第一题:主要看一下输入输出. java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import ja 阅读全文
posted @ 2019-04-08 10:50 whyaza 阅读(148) 评论(0) 推荐(0)
摘要://使用java dfs python dp 阅读全文
posted @ 2019-04-08 09:37 whyaza 阅读(667) 评论(0) 推荐(0)
摘要:```java int res = 0; int ab = 0; for(int i = 0;i 阅读全文
posted @ 2019-04-07 09:10 whyaza 阅读(112) 评论(0) 推荐(0)
摘要:```java public int reverse(int x) { long res = 0; while (x != 0){ res = res 10 + x % 10; x /= 10; } if(res = Integer.MAX_VALUE || res 阅读全文
posted @ 2019-04-06 15:41 whyaza 阅读(132) 评论(0) 推荐(0)
摘要:```java public String longestPalindrome(String s) { String rs = ""; int res = 0; for(int i = 0; i= 0 && s.charAt(i) == s.charAt(left)) left --; while(right = 0 &... 阅读全文
posted @ 2019-04-06 11:57 whyaza 阅读(80) 评论(0) 推荐(0)
摘要:自己写的: java if(numRows == 1) return s; int ll = s.length() / 2 + 1; Character tc[] = new Character[numRows ll]; int i = 0, j = 0; boolean down = true; 阅读全文
posted @ 2019-04-06 10:59 whyaza 阅读(113) 评论(0) 推荐(0)
摘要:idea: 设置一个hashset存储非重复元素 j:遍历s i:最近的一个非重复指针 注意点: 1.Set set = new HashSet(); 2. add remove java public int lengthOfLongestSubstring(String s) { int i = 阅读全文
posted @ 2019-04-05 12:06 whyaza 阅读(82) 评论(0) 推荐(0)
摘要:注意点: 1. 最后的进位 2. (l1 == null || l1.next == null) 3. break; 阅读全文
posted @ 2019-04-04 19:45 whyaza 阅读(103) 评论(0) 推荐(0)
摘要:注意点: 1. HashMap 2. return new int[]{}; 3. 3 2 4 target:6 4. return null; java public int[] twoSum(int[] nums, int target) { HashMap m = new HashMap(); 阅读全文
posted @ 2019-04-04 18:45 whyaza 阅读(124) 评论(0) 推荐(0)
摘要:输出 if 语句 if...else... 语句 if...else if...else... 语句 while do...while for 三目运算 声明变量 int String, String int 判断string变量是否是数字 字符串的常见操作 char[] 与 String 的相互转 阅读全文
posted @ 2019-04-04 17:26 whyaza 阅读(271) 评论(0) 推荐(0)