随笔分类 -  java版算法

力扣
差分数组
摘要:差分数组的主要适用场景是频繁对原始数组的某个区间的元素进行增减。 比如说,我给你输入一个数组 nums,然后又要求给区间 nums[2..6] 全部加 1,再给 nums[3..9] 全部减 3,再给 nums[0..4] 全部加 2,再给... 一通操作猛如虎,然后问你,最后 nums 数组的值是 阅读全文
posted @ 2023-07-23 14:55 upupup-999 阅读(11) 评论(0) 推荐(0) 编辑
完整的合并有序链表(包括节点定义 生成链表 合并)
摘要:1.定义节点 public class ListNode { int val; ListNode next; public ListNode() { } public ListNode(int val) { this.val = val; } public ListNode(int val, Lis 阅读全文
posted @ 2023-01-29 22:10 upupup-999 阅读(24) 评论(0) 推荐(0) 编辑
动态规划理解
摘要:1.卡尔算法讲解 2.B站背包讲解 1.案例 2.动态过程 3.归纳 4.代码 public class CodeBag { public static void main(String[] args) { int[] weight = {1, 3, 4}; int[] value = {15, 2 阅读全文
posted @ 2022-06-11 12:56 upupup-999 阅读(23) 评论(0) 推荐(0) 编辑
滑动窗口
摘要:https://leetcode.cn/problems/find-all-anagrams-in-a-string/solution/hua-dong-chuang-kou-tong-yong-si-xiang-jie-jue-zi-/ 阅读全文
posted @ 2022-05-31 22:16 upupup-999 阅读(9) 评论(0) 推荐(0) 编辑
复杂度
摘要: 阅读全文
posted @ 2022-05-04 11:12 upupup-999 阅读(10) 评论(0) 推荐(0) 编辑
归并求小和
摘要:public class SmallSum { public static int sum=0; public static void main(String[] args) { //int[] arr={1,3,4,2,5}; int[] arr={1,3}; process(arr,0,arr. 阅读全文
posted @ 2022-04-30 12:05 upupup-999 阅读(24) 评论(0) 推荐(0) 编辑
递归求最值
摘要:public class RecSort { public static void main(String[] args) { int[] arr={3,1,5,2,4,-1}; int rec = rec(arr, 0, arr.length - 1); System.out.println(re 阅读全文
posted @ 2022-04-29 17:05 upupup-999 阅读(20) 评论(0) 推荐(0) 编辑
归并排序
摘要:public static void main(String[] args) { int[] arr={3,1,5,2,4,-1}; rec(arr,0,arr.length-1); for (int i : arr) { System.out.println(i); } } public stat 阅读全文
posted @ 2022-04-29 17:04 upupup-999 阅读(12) 评论(0) 推荐(0) 编辑
反转链表
摘要:https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=23286&ru=%2Fpractice%2Ff9f78ca89ad643c99701a7142bd59f5d&qru=%2Fta%2Fco 阅读全文
posted @ 2022-03-15 14:01 upupup-999 阅读(32) 评论(0) 推荐(0) 编辑
删除链表的节点
摘要:https://www.nowcoder.com/practice/f9f78ca89ad643c99701a7142bd59f5d?tpId=13&tqId=2273171&ru=%2Fpractice%2F75e878df47f24fdc9dc3e400ec6058ca&qru=%2Fta%2F 阅读全文
posted @ 2022-03-15 13:36 upupup-999 阅读(67) 评论(0) 推荐(0) 编辑
剑指offer算法题刷题总结
摘要:1.题型(找出数组中重复的数字) 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 来源:力扣(LeetCode)链接:https://leetcode-cn.c 阅读全文
posted @ 2022-02-13 20:15 upupup-999 阅读(33) 评论(0) 推荐(0) 编辑
关于位运算符
摘要:与0异或为其本身 异或得到的数再次与这两个数与运算会得到两个相反的值 阅读全文
posted @ 2022-02-10 17:56 upupup-999 阅读(24) 评论(0) 推荐(0) 编辑
回溯算法解题模板
摘要:1,回溯算法解决字符串的排列其实就是排列组合,我们可以把它想象成为一棵n叉树(n是s的长度),然后每一个节点都要从字符串中选择一个字符,但注意不能选择重复的,比如在一个节点选择了a,那么他的子孙节点都不能再选择a了 作者:sdwwld链接:https://leetcode-cn.com/proble 阅读全文
posted @ 2022-01-31 10:37 upupup-999 阅读(61) 评论(0) 推荐(0) 编辑
平衡二叉树
摘要:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 示例 2: 给定二叉树 [1,2,2,3,3,null,null,4,4] 返 阅读全文
posted @ 2022-01-21 11:17 upupup-999 阅读(28) 评论(0) 推荐(0) 编辑
连续子数组的最大和
摘要:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 动态规划 class Solutio 阅读全文
posted @ 2022-01-19 11:39 upupup-999 阅读(24) 评论(0) 推荐(0) 编辑
两个链表的第一个公共节点
摘要:输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 在节点 c1 开始相交。 解法1 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListN 阅读全文
posted @ 2022-01-18 17:09 upupup-999 阅读(28) 评论(0) 推荐(0) 编辑
最小的k个数
摘要:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 1.常规解法 class Solution { public int[] getLeastNumbers(int[] arr, int k) { Arrays.s 阅读全文
posted @ 2022-01-18 12:43 upupup-999 阅读(26) 评论(0) 推荐(0) 编辑
顺时针打印矩阵
摘要:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2: 输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输 阅读全文
posted @ 2022-01-14 11:53 upupup-999 阅读(11) 评论(0) 推荐(0) 编辑
对称的二叉树
摘要:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 /** * Definition for a binary tree node. * public class TreeNode { * int 阅读全文
posted @ 2022-01-13 12:23 upupup-999 阅读(23) 评论(0) 推荐(0) 编辑




点击右上角即可分享
微信分享提示