09 2021 档案
摘要:感觉把题解法和思路直接写在LeetCode网站上就好了,写博客麻烦了。 class Solution { int deleteIslands(int i,int j,char [][]grid,int [][]foot){ foot[i][j] =1; if(grid[i][j] == '0') r
阅读全文
摘要:class Solution { public int[][] floodFill(int[][] image, int sr, int sc, int newColor) { int [][]foot = new int[image.length][image[0].length]; delete
阅读全文
摘要:class Solution { void perm(int level, int []nums, List<List<Integer>> list){ if(level==nums.length){ ArrayList<Integer> listSingle = new ArrayList<>()
阅读全文
摘要:dfs,主要记住结束递归要用return class Solution { int judge(char [][]board,int iIndex,int jIndex,char s){ int flag = 0; for(int j=0;j<9;j++){ if(board[iIndex][j]
阅读全文
摘要:class Solution { /** 1,初始方向向上 2.一轮指令后,方向可能不变,也可能变 3.方向发生变化,最多四次迭代就能变回初始方向,而且一定能变回初始方向。这点很重要,大家想一想 4.不管是第一轮指定还是第N轮指定以后,第一次达到同方向,看这次的位置是不是(0,0),如果是,则困于循
阅读全文
摘要:模拟 class Solution { public boolean validateStackSequences(int[] pushed, int[] popped) { int pushNum = pushed.length; int poped = popped.length; int in
阅读全文
摘要:class Solution { public String addStrings(String num1, String num2) { String value = ""; int dub = 0; //记录上次结果是否大于10 for(int i=1;i<=Math.max(num1.leng
阅读全文
摘要:class Solution { public int maximumGap(int[] nums) { if(nums.length <2) return 0; else{ Arrays.sort(nums); int array[] = new int[nums.length-1]; for(i
阅读全文
摘要:暴力,排序取值 class Solution { public int findKthLargest(int[] nums, int k) { Arrays.sort(nums); return nums[nums.length-k]; } } 优先队列 //思路是创建一个大小为k的优先队列,对每一
阅读全文
摘要:思路是对于数组个数为奇数的,选择中间那个元素的数作为要移动的目标值,原因是中间的数到两边的数距离之和最短,因为从中间向两边任意一边移动都会导致其他元素到该数组距离改变,但是中间元素距离从0变为大于0,所以选择中间的元素数就可以,偶数则选择中间两个数的区间作为目标取最短距离即可。 class Solu
阅读全文
摘要:送分,不过这种方法还是借助了辅助数组,虽然最后拷贝回去了。 class Solution { public void rotate(int[][] matrix) { int [][]newMatrix = new int[matrix.length][matrix.length]; for(int
阅读全文
摘要:我的思路是先看前面的比自己高的人个数进行排序,人个数相等下肯定个子小的在前面,依次类推。 public int[][] reconstructQueue(int[][] people) { int index = 0; //表示已经排好的人数 int[][] queue = new int[peop
阅读全文
摘要:先对字符串排序,第一个和最后一个差别最大,计算差别最大的最小公共子串变为全局的最小公共子串 package com.bupt; import java.util.Arrays; public class T14 { public String longestCommonPrefix(String[]
阅读全文
摘要:我的做法就是暴力,再加点剪枝来不超时。具体的思路是先从整体去识别这个字符串是否为回文串,如果不是再用连续的n-1个字符进行判断是否为回文,一旦是就不用继续判断其他的了,已经是最长的回文了,所以可以减少很多判断,效率比较高。 public String judge(String str) { int
阅读全文
摘要:水过去 class Solution { public List<String> findRepeatedDnaSequences(String s) { HashMap<String, Integer> hashMap = new HashMap<>(); ArrayList<String> li
阅读全文
摘要:LR 学习率的调整方法: 1、从自己和其他人一般的经验来看,学习率可以设置为3、1、0.5、0.1、0.05、0.01、0.005,0.005、0.0001、0.00001具体需结合实际情况对比判断,小的学习率收敛慢,但能将loss值降到更低。 2、根据数据集的大小来选择合适的学习率,当使用平方和误
阅读全文
摘要:链接:https://zhuanlan.zhihu.com/p/43789231 HTTPS(SSL/TLS)的加密机制虽然是大家都应了解的基本知识,但网上很多相关文章总会忽略一些内容,没有阐明完整的逻辑脉络,我当年学习它的时候也废了挺大功夫。 对称与非对称加密、数字签名、数字证书等,在学习过程中,
阅读全文
摘要:这道题的思路就是使用栈来进行解决或者使用字符串操作来进行处理 package com.bupt; import java.util.*; public class T20 { public boolean isValid(String s){ while (s.contains("{}") || s
阅读全文
摘要:莽夫流,还是官方简单。 class Solution { int cut(String curStr,String cuts[],HashMap hashMap,HashMap hashMap1){ int[] ints = new int[curStr.length()]; for (int k
阅读全文
摘要:package com.bupt; import java.util.HashSet; //最重要的理解的内容就是对一个数要吗成为快乐数,要吗进入死循环(试几个数就会发现。),不会出现越来越大的情况 //通过举例9,99,999可以发现 public class T202 { int f(int m
阅读全文
摘要:主要学习下Arrays.sort()排序二维数组。 class Solution { public int[][] merge(int[][] intervals) { Arrays.sort(intervals, new Comparator<int[]>() { //先按第一维进行排序 @Ove
阅读全文
摘要:我的最先的思路是双重循环遍历所有情况取最小值,结果超时(暴力总会超时),接着我对第二层循环优化,右边的位置不再是左边位置加一作为开始,而是我把当前最大容器的值除于左边容器的高度作为j距离左边的距离,大大提高了效率 最后官网给的思考是使用双指针,就是指向数组的左右两边最快一趟循环结束。 package
阅读全文
摘要:作者:我执链接:https://zhuanlan.zhihu.com/p/271727854来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 有哪些原因会导致过拟合? 数据层面 训练集和测试集的数据分布不一致 训练数据集太少,样本单一,模型无法从中学到泛化的规则 训练集
阅读全文
摘要:题目链接:108. 将有序数组转换为二叉搜索树 - 力扣(LeetCode) (leetcode-cn.com) 该问题的核心是弄清楚搜索树中序遍历得到的是一个有序的数组,所以从有序数组出发我们需要构建一棵二叉搜索树,又要保持平衡,因为选择中间数字作为根结点,根结点两边的树对应着数组中间位置左右两边
阅读全文
摘要:1. 两数之和 - 力扣(LeetCode) (leetcode-cn.com) 第一种方式就是暴力循环,虽然没超时,但毕竟不太好,哈哈。 第二种方式是使用hashmap把数据作为key可以快速的找到target-key。有想到用数组计数,但是开辟空间太大,速放弃使用hashmap. public
阅读全文
摘要:二进制指数退避算法 1)确定基本退避时间(基数),一般定为2τ,也就是一个争用期时间,对于以太网就是51.2μs2)定义一个参数K,为重传次数,K=min[重传次数,10],可见K≤103)从离散型整数集合[0,1,2,……,(2^k-1)]中,随机取出一个数记做R 那么重传所需要的退避时间为R倍的
阅读全文
摘要:多线程详解_1 - 你的雷哥 - 博客园 (cnblogs.com) 多线程详解_2 - 你的雷哥 - 博客园 (cnblogs.com) 线程池详解_3 - 你的雷哥 - 博客园 (cnblogs.com) 狂神说_JUC并发编程_1 狂神说_JUC并发编程_2 多线程 创建线程的三种方式 继承T
阅读全文
摘要:狂神课程链接:【狂神说Java】通俗易懂的23种设计模式教学(停更)_哔哩哔哩_bilibili 尚硅谷课程链接:尚硅谷Java设计模式(图解+框架源码剖析)_哔哩哔哩_bilibili 参考博客地址: 设计模式常见面试题 设计模式面试题(总结最全面的面试题!!!)_小杰爱吃蛋的博客-CSDN博客_
阅读全文
摘要:课程链接:分布式订阅消息系统Kafka架构 - 网易云课堂 (163.com) 代码文档:分布式发布订阅消息系统 Kafka架构设计 链接:https://pan.baidu.com/s/1VyLF1OP9r2-_rWlM7WzQXQ 提取码:pdsx 笔记: https://files.cnblo
阅读全文