
数据结构&算法
95年的巨蟹
机械boy
展开
-
[java] B站 avid bvid 转换算法
package com.learn.bilibili.idconv;public class IDConvUtil { /** * 假定: * avid为数字(例如数据库主键id),bvid为 可与avid相互转换的 数字字母组成的12位的id. * bvid固定格式:BV1__4_1_7__ * 一、通过将avid数字,填充到bvid空位上。实现 avid -> bvid 的编码。 * 二、通过将bvid对应位之上的字符,按相反顺序,原创 2022-04-15 17:11:56 · 2248 阅读 · 0 评论 -
全局唯一Id生成—基于类Snowflake算法
全局唯一Id生成—基于类Snowflake算法1.方法介绍二级目录三级目录1.方法介绍简介:算法核心是利用64bits的二进制位表示一个id;并将64位分为几段,分别表示不同的值,如时间戳、机器id、自增序号的等。项目二级目录三级目录...原创 2021-10-21 12:19:49 · 175 阅读 · 0 评论 -
用LinkedList解决,约瑟夫问题(简单解法)
约瑟夫问题介绍约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3。(出列也一样~)1.暴力遍历方法问题改造:假设有n个人围成一圈,从第m个开始报数,报到k出列;给出出列顺序;直接暴力模拟一个人报一个数,方便理解,实现如下:1.1思路说明: /** * 整体思路: * 1.使用LinkedList可以方便的移除元素,模拟出列;remove方法; * 2.定义原创 2021-04-04 16:49:23 · 562 阅读 · 0 评论