09 2022 档案
摘要:1.hashMap赋值的简便方法 for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (maps.containsKey(c)) maps.put(c,maps.get(c)+1); else maps.put(c,1);
阅读全文
摘要:总结: 1、HashSet底层的插入是通过HashMap来实现的 2、HashSet并不按照插入的顺序存储,它是无序的 3、LinkedHashSet中的元素可以按照它们插入规则集的顺序提取 @Test //HashSet并不按照插入的顺序 public void setIndex(){ //Has
阅读全文
摘要:这是力扣刷题中很经典的一个套路,类似有: 以下标i为标准,其之前最长的非递增序列的个数 以下标i为标准,其之后的最长非递减序列的个数 //以下标i为标准,其之前最长的非递增序列的个数 int[] res = new int[nums.length]; //下标i之前的k个元素是非递增的线段数 。 f
阅读全文
摘要:在启动Pod的yaml文件中与containers同级别的位置添加如下两行: nodeSelector: kubernetes.io/hostname: node的IP地址或主机名
阅读全文
摘要:背景:topic中如果数据格式有问题,消费时采用消费后自动提交offset的方式,会出现消费端程序一直无法消费而一直报错的情况。 解决办法:将该topic的数据保留时间设置小一点,如10s。 kafka是采用轮训的方式,轮训到这个topic发现10秒前的数据都是删掉。时间由server.proper
阅读全文
摘要:剪枝操作可以去除重复无意义的操作,从而提升时间复杂度和空间复杂度 剪枝的常见思路: 排序和去重,这里常见Arrays.sort(nums) HashSet<>() 提前结束循环或者跳出循环 以力扣上的2344题为例: https://leetcode.cn/problems/minimum-dele
阅读全文
摘要:掌握顺序数组的去重,对后续算法的去重剪枝,降低时间复杂度很有用,其基本思路如下: 1.双指针,k和i。其中k指向不重复的位置,i为数组的遍历指针 2.对数组进行遍历,其中i可以从1开始,k从0开始 3.比较nums[k]和nums[i]: 如果两者相同,移动i,k不变 如果两者不同,移动k,nums
阅读全文
摘要:给一个字符串数组,如:String[] nums={"102","473","251","814"}; 请进行基数排序,返回 List<List> list, 其中List的index为基数位数,从0开始表示个位。index对应的list内容为截取的该位数的nums(如十位,则nums为 02,73
阅读全文
摘要:刷题过程中会遇到List<List>的数据结构,以下展示定义和操作的过程 @Test public void ListTest(){ List<List<Integer>> res = new ArrayList<>(); System.out.println(res); // [] //添加第一个
阅读全文
摘要:数组插入-从后往前的思想 合并数组的思想体现了数据结构中关于插入的问题,学习数据结构的时候,我们知道: 数组插入,时间复杂度为o(n),需要移动后面的所有元素,而链表则不用 如果遇到了数组插入的题目,我们不妨使用从后往前的寻找对应元素的位置,而避免元素的移动 力扣中经典的合并数组: 给你两个按 非递
阅读全文
摘要:HashMap 由于使用key:value形式,可以实现快速查找。通常能将时间复杂度降维 //2.进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?使用哈希表 public int[] twoSum2(int[] nums, int target) { Map<Integer, Intege
阅读全文
摘要:解题时,如果不满足返回空数组,可以使用new int[0]返回 @Test public void intTest(){ int[] ints = new int[0]; //指定元素个数为0,表示空数组 int[] ints1 = new int[]{1, 2}; System.out.print
阅读全文
摘要:很多高级用法,比如Stream ,Compare都只针对包装类 直接int[] 到set只能使用赋值的方法 int[] nums = {0,0,1,1,1,2,2,3,3,4}; Set<Integer> set = new HashSet<>(); for (int i = 0; i < nums
阅读全文
摘要:一般set用于去重的判断,类似的还有HashMap 以下是常见的解题思路: 新建set new HashSet<Integer>() 对要判断的数组进行遍历,如果添加失败if (!set.add(x)),说明已存在该元素,提前进行结果的返回 遍历完成后返回一个默认值 Set<Integer> set
阅读全文
摘要:比较中的compare函数,不仅可以使用被比较数组自身的信息,还可以使用其他的数组 public void conpareTest(){ String[] nums = {"102","473","251","814"}; //1.下标数组 Integer index[] = new Integer
阅读全文
摘要:截取字符串的前k位,比如abc,截取前两位,留下最后一位 如果要截取前k位,则实现方法为s.substring(k) public void subStrings(){ String s = "abc"; System.out.println(s.substring(1)); //截取1位,留下后2
阅读全文
摘要:sort(T[] a, Comparator<? supre T> c): 根据指定比较器产生的顺序对指定对象数组进行排序。 sort(T[] a, int formIndex, int toIndex, Comparator<? supre T> c): 根据指定比较器产生的顺序对指定对象数组的指
阅读全文
摘要:思路 总体思想如下: 从个位开始从小到大排列 从十位开始从小到大有序排列 以此类推 直到最高位排列完毕,即得到整个数组的排序完毕 代码实现 思路整理: 获得数组的最高位 求取第k位对应的元素,算法为arr[j]/a[i])%10,其中a[i]是个辅助变量{1,10,100,...},与最高位有关,简
阅读全文
摘要:对一个n位数求和,如12345,求每位数字之和,应该输出15 //求和的经典操作: // 1. 定义基本sum = 0,在num!=0之前做如下循环: // 2. 先取低位值相加,即sum = sum + num%10 // 3. num右移动,即 num = num/10 public void
阅读全文
摘要:背景 我的机械键盘是84位的,上面缺少insert键,但是我个人觉得windows截图键PrtSc键没啥用,所以这次想法是,将PrtSc键映射为insert键。 电脑系统为win7 步骤 1、运行:regedit 2、输入地址:计算机\HKEY_LOCAL_MACHINE\SYSTEM\Curren
阅读全文
摘要:No such file or directory 出现该提示的原因可能如下: 文件真的不存在 系统位数与该可执行文件需要的lib库位数不匹配 用uname -a 查看linux系统位数 用file命令查看文件信息 要想在64位系统上与运行32位程序,则需要安装32位lib库
阅读全文
摘要:image is referenced in multiple repositories 报错 解决办法 根据tag删,当没有引用之后可以用image id删除
阅读全文
摘要:oracle账号 913898356@qq.com /密码:Oracle123. 转载自:https://blog.csdn.net/WNsshssm/article/details/84315519 下载特定版本 oracle 官网上的jdk都是最新的版本,如果要找到某个特定版本,需要使用如下链接
阅读全文
摘要:1.下载 https://51.ruyo.net/17008.html 2.家庭版升级到专业版本 2.1 使用网站生成 https://github.com/flygon2018/MobaXterm-keygen 2.2 使用python脚本自定义生成 https://github.com/flyg
阅读全文
摘要:更改bat默认打开方式 背景 不知什么情况下更改了windows默认批处理脚本的默认打开方式,导致svn统计工具打开时总会默认跳到用sublime text打开,原来的统计功能出了问题,无法统计代码。 修复 修改windows注册表 开始->运行 输入regedit,回车后进入注册表编辑器 依次选择
阅读全文

浙公网安备 33010602011771号