![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Demon-HY
生活不止眼前的苟且,还有明天...
展开
-
算法 - 01二叉树三种遍历算法
二叉数遍历的三种方法前序遍历,对树中的任意结点来说,先打印这个结点,然后前序遍历它的左子树,最后前序遍历它的右子树。中序遍历,对树中的任意结点来说,先中序遍历它的左子树,然后打印这个结点,最后中序遍历它的右子树。后序遍历,对树中的任意结点来说,先后序遍历它的左子树,然后后序遍历它的右子树,最后打印它本身。package algorithm.tree;import lombok.Data;/** * @author Demon-HY * @description 树节点 * @dat原创 2021-02-24 11:10:19 · 134 阅读 · 0 评论 -
Java - SnowflakeIdWorker 分布式全局唯一Id生成方案
使用Twitter的snowflake算法方案snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。具体实现的代码可以参看:https...原创 2019-07-30 17:12:06 · 8563 阅读 · 0 评论 -
算法-有序的二维数组中查找某个整数是否存在
package com.demon.leetcode;/** * 题目: * 二维数组中每一行都按照从左往右递增的顺序排序,每一列的第一个值都大于上一列的最后一个值,请完成一个函数, * 输入一个二维数组和一个整数, 判断数组中是否包含该整数 * * 思路: * 1. 因为数组中的数是一个递增的,所有首先判断输入的整数是否在数组中的最大值和最小值的区间里面,如果没有则直接返回 ...原创 2019-11-07 16:04:20 · 739 阅读 · 0 评论 -
算法-字符串倒序打印
package com.demon.leetcode;import java.util.Arrays;/** * 算法-字符串倒序打印 * <p> * 输入:["h","e","l","l","o"] * 输出:["o","l","l","e","h"] * * @author Demon-HY * @date 2019-11-7 */public clas...原创 2019-11-07 15:27:07 · 247 阅读 · 0 评论 -
算法题-给定一个数组list,找出m长度的子数组值总和的最大值
import java.util.Arrays;/** * 给定一个数组list,找出m长度的子数组值总和的最大值 * @author Demon-HY * @date 2019-4-30 */public class Test { public static void main(String[] args) { Integer[] list = new ...原创 2019-05-05 10:22:43 · 811 阅读 · 1 评论 -
算法-冒泡排序
package com.demon.algorithm;import java.util.Arrays;/** * 冒泡排序步骤(升序): * 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个 * 2. 重复 1 步骤,直到遍历完,此时数组的最大下标的值为最大值 * 3. 重复 2 步骤,遍历时不遍历已经排好序的最后的数组,就是每次遍历时,最大下标减1 * <p...原创 2019-05-06 15:49:36 · 74 阅读 · 0 评论 -
算法-选择排序
package com.demon.algorithm;import java.util.Arrays;/** * 选择排序步骤(升序): * 1. 找到未排序数组中的最小元素,存放到数组开头(从起始下标开始作为已排序序列) * 2. 继续查找未排序数组,将最小元素放到已排序序列的末尾 * 3. 重复 2 步骤,直到所有元素排序完毕 * <p> * 注意: * ...原创 2019-05-06 16:57:26 · 101 阅读 · 0 评论