#算法图解

mybatis plus 主键生成 Twitter雪花算法 id 及修改id为字符型

mybatisplus配置主键生成策略为2,就是使用Twitter雪花算法生成id springboot中配置为:GlobalConfigurationconf=newGlobalConfiguration(newLogicSqlInjector());conf.setIdType(5); 这样生成...

Twitter的分布式自增ID算法snowflake (Java版)

分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系...

Twitter雪花算法 SnowFlake算法 的java实现

概述SnowFlake算法是Twitter设计的一个可以在分布式系统中生成唯一的ID的算法,它可以满足Twitter每秒上万条消息ID分配的请求,这些消息ID是唯一的且有大致的递增顺序。原理SnowFlake算法产生的ID是一个64位的整型,结构如下(每一部分用“-”符号分隔):0-000000000000000000...

C# 中使用 RSA加解密算法

  RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。    在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然密钥SK是由公开密钥...
代码星球 ·2021-02-16

C# 分布式自增ID算法snowflake(雪花算法)

分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系...

【算法】从一组数中找出和为指定值的任意组合

题目:给定的一组整数,给定一个值X,找出和为X的任意组合。思路:将X视为重量x(kg)的物品,放在天平左侧,数组中的每个数字视为重量为y(kg)的砝码,砝码从大到小逐一放置,直到天平平衡,那么选择的砝码的组合就是我们所要的答案。采用递归的方法。右侧还有x的余量放置第一个砝码后还有x-y1的余量放置第二个砝码后还有(x-...

C# 数独算法——LINQ+委托

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceSingleNumber{namespaceConsoleApplication1{classProgram{staticvoidMain(str...
代码星球 ·2021-02-16

[转]递归算法

原文地址:http://blog.csdn.net/wangjinyu501/article/details/8248492一、基本概念       递归算法是一种直接或者间接调用自身函数或者方法的算法。Java递归算法是基于Java语言实现的递归算...
代码星球 ·2021-02-15

一个算法题:括号匹配问题。

问:给予一个字符串为:']]][]]]][[[[[[]]]]',请写出程序求出其有多少对'[]'?/一般这种问题都是想让你通过数据结构去处理,仔细回想一下我们学过的数据结构,栈的先进后出是否能处理这个问题?将字符串遍历,遇到左方括号'['时将其压入栈中,遇到右方括号']'时取出栈顶元素匹配,并将对数加1,这样最后我们就...

用PHP实现一些常见的排序算法

1、冒泡排序:两两相比,每循环一轮就不用再比较最后一个元素了,因为最后一个元素已经是最大或者最小。functionmaopaoSort($list){$len=count($list);for($i=0;$i<$len-1;$i++){for($j=0;$j<$len-$i-1;$j++){if($list...

PHP AES加解密算法

 <?php/***Desc:Aes加解密php7.1+*Class:Aes*Package:appcommonlib*User:manzb*Date:2018/10/1817:30*/namespaceappcommonlib;classAes{private$iv='';private$key=''...
代码星球 ·2021-02-15

记录一些经典的算法

每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机),一箱油可供一架飞机绕地球飞半圈。问:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机? (所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)解答:我们把全程划分为多个4分之1段,可以知道,要一架...
代码星球 ·2021-02-15

十大编程算法助程序员走上高手之路

算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的...

JAVA智能设备基于OpenGL的3D开发技术 之AABB碰撞检测算法论述

摘要:无论是PC机的3D还是智能设备应用上,碰撞检测始终是程序开发的难点,甚至可以用碰撞检测作为衡量3D引擎是否完善的标准。现有许多3D碰撞检测算法,其中AABB碰撞检测是一种卓有成效而又经典的检测算法,本文将为读者详细论述AABB碰撞检测的各各技术点。关键词:J2ME;OpenGL;JSR-184;M3G;CLDC2...

HMM模型和Viterbi算法

1、简介  隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的。隐含马尔可夫模型一直被认为是解决大多数自然语言处理问题最为快速、有效的方法。2、马尔可夫假设  随机过程中各个状态St的概率分布,只与它的前一个状态St-1有关,即P...
代码星球 ·2021-02-15
首页上一页...678910...下一页尾页