随笔分类 -  code

刷题总结
摘要:HashMap 由于使用key:value形式,可以实现快速查找。通常能将时间复杂度降维 //2.进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?使用哈希表 public int[] twoSum2(int[] nums, int target) { Map<Integer, Intege 阅读全文
posted @ 2022-09-26 11:37 xiaoyu_jane 阅读(85) 评论(0) 推荐(0)
摘要:解题时,如果不满足返回空数组,可以使用new int[0]返回 @Test public void intTest(){ int[] ints = new int[0]; //指定元素个数为0,表示空数组 int[] ints1 = new int[]{1, 2}; System.out.print 阅读全文
posted @ 2022-09-26 10:52 xiaoyu_jane 阅读(69) 评论(0) 推荐(0)
摘要:很多高级用法,比如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 阅读全文
posted @ 2022-09-25 11:29 xiaoyu_jane 阅读(778) 评论(0) 推荐(0)
摘要:一般set用于去重的判断,类似的还有HashMap 以下是常见的解题思路: 新建set new HashSet<Integer>() 对要判断的数组进行遍历,如果添加失败if (!set.add(x)),说明已存在该元素,提前进行结果的返回 遍历完成后返回一个默认值 Set<Integer> set 阅读全文
posted @ 2022-09-25 11:19 xiaoyu_jane 阅读(42) 评论(0) 推荐(0)
摘要:比较中的compare函数,不仅可以使用被比较数组自身的信息,还可以使用其他的数组 public void conpareTest(){ String[] nums = {"102","473","251","814"}; //1.下标数组 Integer index[] = new Integer 阅读全文
posted @ 2022-09-24 16:19 xiaoyu_jane 阅读(227) 评论(0) 推荐(0)
摘要:截取字符串的前k位,比如abc,截取前两位,留下最后一位 如果要截取前k位,则实现方法为s.substring(k) public void subStrings(){ String s = "abc"; System.out.println(s.substring(1)); //截取1位,留下后2 阅读全文
posted @ 2022-09-24 16:12 xiaoyu_jane 阅读(69) 评论(0) 推荐(0)
摘要:sort(T[] a, Comparator<? supre T> c): 根据指定比较器产生的顺序对指定对象数组进行排序。 sort(T[] a, int formIndex, int toIndex, Comparator<? supre T> c): 根据指定比较器产生的顺序对指定对象数组的指 阅读全文
posted @ 2022-09-24 15:35 xiaoyu_jane 阅读(43) 评论(0) 推荐(0)
摘要:思路 总体思想如下: 从个位开始从小到大排列 从十位开始从小到大有序排列 以此类推 直到最高位排列完毕,即得到整个数组的排序完毕 代码实现 思路整理: 获得数组的最高位 求取第k位对应的元素,算法为arr[j]/a[i])%10,其中a[i]是个辅助变量{1,10,100,...},与最高位有关,简 阅读全文
posted @ 2022-09-24 14:57 xiaoyu_jane 阅读(33) 评论(0) 推荐(0)
摘要:对一个n位数求和,如12345,求每位数字之和,应该输出15 //求和的经典操作: // 1. 定义基本sum = 0,在num!=0之前做如下循环: // 2. 先取低位值相加,即sum = sum + num%10 // 3. num右移动,即 num = num/10 public void 阅读全文
posted @ 2022-09-24 09:26 xiaoyu_jane 阅读(111) 评论(0) 推荐(0)