算法
东风不来
东风不来,水波不兴
展开
-
二叉树寻路
https://leetcode-cn.com/problems/path-in-zigzag-labelled-binary-tree/class Solution { public List<Integer> pathInZigZagTree(int label) { List<Integer> list = new ArrayList<>(); if (label == 1) { list.add原创 2021-07-29 10:47:36 · 91 阅读 · 0 评论 -
删除排序链表中的重复元素
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中没有重复出现 的数字。返回同样按升序排列的结果链表。示例 1:输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]示例 2:输入:head = [1,1,1,2,3]输出:[2,3]提示:链表中节点数目在范围 [0, 300] 内-100 <= Node.val <= 100题目数据保证链表已经按升序排列解法1:class Lis原创 2021-03-25 10:48:44 · 56 阅读 · 0 评论 -
不同的子序列
给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)示例 1:输入:s = "rabbbit", t = "rabbit"输出:3解释:如下图所示, 有 3 种可以从 s 中得到 "rabbit" 的方案。(上箭头符号 ^ 表示选取的字母)rabbbit^^^^ ^^rabbbit^原创 2021-03-18 22:40:44 · 91 阅读 · 0 评论 -
螺旋矩阵 II
描述:给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]提示:1 <= n <= 20class Solution { public int[][] generateMatrix(int n) { int[][] arr = new int[n][n]; // 1原创 2021-03-16 14:47:08 · 56 阅读 · 0 评论 -
求一个整数n,最近的2的次方值m;m>n
在看HashMap源码的是否发现了一个很好玩的方法:java.util.HashMap.tableSizeFor ;如题,求最近的2的次方值一下为对这个方法的具体分析和注释: /** * int类型,2的最大整数次方(2的30次方)值 */ public static final int MAXIMUM_CAPACITY = 1 << 30; /** * 根据...原创 2020-03-22 00:37:07 · 545 阅读 · 0 评论 -
欧几里德算法
/** * 求最大公约数<br> * 两个不全为0的非负整数m、n的最大公约数为gcd(m,n)<br> * gcd(m,n)=gcd(n,m mod n) m mod n 表示m除以n之后的余数<br> */public class 欧几里德算法 { public static int gcd(int m, int n) { ...原创 2018-07-18 00:45:49 · 106 阅读 · 0 评论 -
埃拉托色尼筛
import java.util.ArrayList;import java.util.List;/** * 产生一个不大于给定整数n的连续质数序列<br> * 逻辑:<br> * 1.初始化一个2~n的连续整数序列作为候选质数。<br> * 2.在第一个循环中将2的倍数从序列中删除<br> * 3.在第二个循环中将3的倍数从序列中删...原创 2018-07-18 00:48:00 · 189 阅读 · 0 评论