#include <stdio.h> #include <time.h> static unsigned int y = 1U; unsigned int rand_r(unsigned int *seedp) { *seedp ^= (*seedp << 13); //这里居然用异或和位移来实现,感觉很强大 *seedp ^= (*seedp >> 17); *seedp ^= (*seedp << 5); return *seedp; } u…
资源下载 #本文PDF版下载 Python下探究随机数的产生原理和算法(或者单击我博客园右上角的github小标,找到lab102的W7目录下即可) #本文代码下载 几种随机数算法集合(和下文出现过的相同) 前言 我们对于随机数肯定不会陌生,随机数早已成为了我们经常要用到的一个方法,比如用于密码加密,数据生成,蒙特卡洛算法等等都需要随机数的参与.那么我们的电脑是怎么才能够产生随机数的呢?是电脑自己的物理存在还是依靠算法?它到底是如何工作的呢?所以我也对这些问题有着好奇心,所以找到了许多资料学习了…
简介 Floyd-Warshall算法(Floyd-Warshall algorithm),是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似.该算法名称以创始人之一.1978年图灵奖获得者.斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名. 简单的说就是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包.Floyd-Warshall算法的时间复杂度为O(N3),空间复杂度为O(N2). 解决最短…
package common; import java.util.ArrayList; import java.util.BitSet; import java.util.List; import java.util.Random; public class BitMapDemo { /** * 有1千万个随机数,随机数的范围在1到1亿之间.现在要求写出一种算法,将1到1亿之间没有在随机数中的数求出来? * @author Administrator * */ public static voi…
很多人花了四五千买部苹果,结果只用到四五百块钱的普通手机功能. iPhone不为人知的功能,常用技巧: 网上搜集整理的iPhone快捷键操作,虽然表面上iPhone按键只有一个HOME键,大部分操作都依赖触摸屏.但是挡不住各种组合:Power键+Home键的组合,短按.长按.按住并保持.双击.下拉.向左向右滑动.点击顶部状态条等等,搜集不全的地方欢迎大家帮忙补充,追求完美… 1.编写短信的时候,如果想把写的内容全删掉,只需晃动你的iPhone几下,会弹出个窗口,选择“撤销键入”就可把内容全删掉了…
Service 简介   K8s 中提供微服务的实体是 Pod,Pod 在创建时 docker engine 会为 pod 分配 ip,"外部"流量通过访问该 ip 获取微服务.但是,Pod 的状态是不稳定的,它容易被销毁,重建,一旦重建, Pod 的 ip 将改变,那么继续访问原来 ip 是不现实的.针对这个问题 K8s 引入 services 这一 kind,它提供类似负载均衡的作用.与 Pod 不同 service 在创建时 K8s 会为其分配一固定 ip,叫做 ClusterI…
很多人觉得jquery.ext等一些开源js源代码 十分的晦涩,读不懂,遇到问题需要调试也很费劲.其实我个人感觉主要是有几个方面的原因: 对一些js不常用的语法.操作符不熟悉 某个function中又嵌套了一些内部的function,使得整个代码的层次结构不像java代码那么清晰. js中允许变量先使用后定义,会造成我们看代码时候忽然冒出来一个变量.function,却找不到是在哪里定义的. 那么今天给大家分享一下我的经验,扫清你的障碍. 一些晦涩的操作符: (function(){})();…
很多人觉得jquery.ext等一些开源js源代码 十分的晦涩,读不懂,遇到问题需要调试也很费劲.其实我个人感觉主要是有几个方面的原因: 1.对一些js不常用的语法.操作符不熟悉 2.某个function中又嵌套了一些内部的function,使得整个代码的层次结构不像java代码那么清晰. 3.js中允许变量先使用后定义,会造成我们看代码时候忽然冒出来一个变量.function,却找不到是在哪里定义的. 那么今天给大家分享一下我的经验,扫清你的障碍. 一.一些晦涩的操作符: 1.(functio…
oc 中随机数的用法(arc4random() .random().CCRANDOM_0_1() 1).arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc4random() % x; 获取1到x之间的整数的代码如下: int value = (arc4random() % x) + 1; 2).CCRANDOM_0_1() cocos2d中使用 ,范围是[0,1] 使用方法: fl…
一.官方文档解读 官方地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_customizing_the_ribbon_client 二.自定义Ribbon客户端-[方式一]配置类 2.1.自定义负载规则 步骤一.增加TestConfiguration配置类 @Configuration public class TestConfiguration { public IRule…
最近公司取消了指纹打卡,改用钉钉打卡. 天天用这个打卡上班,经常忘记,困扰. 最烦的是好几次明明人在办公室,打卡地址显示在10分钟前的位置,定位失败,不得不重新打卡. 经历过几次定位失败后,我就琢磨起钉钉的定位逻辑,发现定位失败时候的地址,基本是之前我转车的位置,当时我没打开钉钉软件.看来钉钉是自动运行的.打开钉钉看到有个智能工作助理. 每次提前10分钟提醒我打卡,这个时间段,我基本就在失败的定位位置处.所以我猜测是这样的,在智能工作助理提醒我的时候,钉钉已经悄悄的记录我的位置,在10分钟后我打…
单一实例手动部署:https://www.cnblogs.com/huangyanqi/p/8522526.html 注释:参考的一位博主的博客后续做的修改,那个博主的网址找不到了!!!! 背景: 1.每台测试机上已经有十几个tomcat实例,需要添加tomcat的监控端口,监控端口12345后记累加计算: 2.后续会加新服务器开新的tomcat实例,规划tomcat的监控端口为:30000~300300: 主要应对多实例(第一种情况) 约定: zbbix配置文件:/etc/zabbix/ 脚本…
前言 对于Redis而言,很多小伙伴只关注其关键的五大基础类型:string.hash.list.set.sorted set(有序集合),其实还有三种特殊类型在很多应用场景也比较适合使用,分别是:bitmap.geospatial.hyperloglog:上一篇(跟我一起学Redis之五种基本类型及其应用场景举例(干了6个小时))对五种类型进行分享,接下来结合应用场景来说说三种特殊类型的使用方式: 正文 geospatial(地理空间) 该类型在Redis3.2.0版本中加入,其本质是将经纬度…
之前面试的时候,有人问过我这个问题,当时自己只记得两种.后来上msdn看了下,发现有三种,第三种用法基本没怎么用过 这里先贴出来: 三种用法如下: 在 C# 中,new 关键字可用作运算符.修饰符或约束. 1)new 运算符:用于创建对象和调用构造函数.这种大家都比较熟悉,没什么好说的了. 2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员. 3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型. 前两种方法不说了 直接说第三种:第三种方法我看了半天也没…
作者:胖鸟低飞 出处:http://www.cnblogs.com/fatbird/ 简介 排序算法是我们编程中遇到的最多的算法.目前主流的算法有8种. 平均时间复杂度从高到低依次是: 冒泡排序(o(n2)),选择排序(o(n2)),插入排序(o(n2)),堆排序(o(nlogn)), 归并排序(o(nlogn)),快速排序(o(nlogn)), 希尔排序(o(n1.25)),基数排序(o(n)) 这些平均时间复杂度是参照维基百科排序算法罗列的. 是计算的理论平均值,并不意味着你的代码实现能达到…
1. 归并排序(MERGE SORT).快速排序(QUICK SORT)和堆积排序(HEAP SORT) 哪个排序算法效率最高?这要看情况.这也就是我把3种算法放在一起讲的原因,可能你更常用其中一种,不过它们各有千秋. 归并排序算法,是目前为止最重要的算法之一,是分治法的一个典型应用,由数学家John von Neumann于1945年发明. 快速排序算法,结合了集合划分算法和分治算法,不是很稳定,但在处理随机列阵(AM-based arrays)时效率相当高. 堆积排序,采用优先伫列机制,减少…
8种主要排序算法的C#实现   新的一年到了,很多园友都辞职要去追求更好的工作环境,我也是其中一个,呵呵! 最近闲暇的时候我开始重温一些常用的算法.老早就买了<算法导论>,一直都没啃下去. 这本书确实很好,只是太难读了,总是读了几章就又读不下去了!工作上也几乎用不到. 我这段时间发现看这些排序算法比以前容易了很多,就借此机会将它们整理总结起来. 一是方便以后重温,二是可以应对笔试面试.同时也希望这篇博文可以帮助各位刚辞职和正在学习排序算法的园友. PS:有可能实现的代码并不是最优的,如果有什么…
题目链接:http://poj.org/problem?id=3660 Description N ( ≤ N ≤ ) cows, conveniently numbered ..N, are participating in a programming contest. As we all know, some cows code better than others. Each cow has a certain constant skill rating that is unique am…
jvm内存模型 u  程序计数器 u  Java栈(虚拟机栈) u  本地方法栈 u  Java堆 u  方法区及其运行时常量池 垃圾回收机制 u  新生代和老年代 u  参数设置 u  垃圾回收(Minor GC 和 Full GC)和回收算法 u  finalize().减少GC开销.触发主GC的条件 u  判断无用对象.四种引用方式.为什么进行垃圾回收 u  String.StringBuffer与StringBuilder u  类加载机制 类加载机制 一 : jvm内存模型 第一.程序…
题目链接 一开始看到这题,我的内心是拒绝的. 以为是同余类bfs,一看数据1e9,发现只能允许O(1)的算法,数学还不太好,做不出来,其实应该打表找规律. 看到网上的题解,如果两个都必须拿,结果一定是a*b,由于对称性,如果可以不拿,就减(a+b). 结果就是a*b-a-b. #include<iostream> #include<cstdio> using namespace std; long long a,b; int main() { scanf("%lld%ll…
Libp2p学习 参考资料:libp2p-specifications : https://github.com/libp2p/specs 持续更新ing 1. 介绍 Libp2p的实现目标是: 支持各种各样的传输方式: 传输:TCP,UDP,SCTP,UDP,uTP,QUIC,SSH,etc. 安全传输:TLS,DTLS,CurveCP,SSH 有效使用sockets(连接重用) 允许端点之间的交流可以在一个socket上复用(避免过多的握手) 允许端点之间通过一个协商过程使用多协议以及各自的…
归并排序 归并排序也是采用“分而治之”的方式.刚发现分治法是一种算法范式,我还一直以为是一种需要意会的思想呢. 不好意思了,孤陋寡闻了,哈哈! 原理:将两个有序的数列,通过比较,合并为一个有序数列. 维基入口 为方便理解,此处实现用了List<int>的一些方法,随后有IList<int>版本. 实现如下: public static List<int> MergeSortOnlyList(List<int> data, int low, int high)…
试想这样一个业务需求:有一张合同表,由于合同涉及内容比较多所以此表比较庞大,大概有120多个字段.现在合同每一次变更时都需要对合同原始信息进行归档一次,版本号依次递增.那么我们就要新建一张合同历史表,字段跟原合同表一模一样,此外多了一个 合同版本号 字段.在归档时如何把原始合同信息插入到合同历史表呢? 很容易就能想到的一种解决方法: insert into 合同历史表(字段1,字段2,字段3…………字段120,版本号) select   字段1,字段2,字段3…………字段120,0 as 版本号…
前言 分布式环境下应对高并发保证服务稳定几招,按照个人理解,优先级从高到低分别为缓存.限流.降级.熔断,每招都有它的作用,本文重点就讲讲限流这部分. 坦白讲,其实上面的说法也不准确,因为服务降级.熔断本身也是限流的一种,因为它们本质上也是阻断了流量进来,但是本文希望大家可以把限流当做一个单纯的名词来理解,看一下对请求做流控的几种算法及具体实现方式. 为什么要限流 其实很好理解的一个问题,为什么要限流,自然就流量过大了呗,一个对外服务有很多场景都会流量增大: 业务用户量不断攀升 各种促销 网络爬虫…
最近在看lecun大神的这篇经典文章:“Gradient-Based Learning Appliedto Document Recognition”,文章较老,但是对于lenet5的一些基础概念讲解浅显易懂,本文主要对lenet5的架构和设计讲一些我的粗浅理解,对一些问题写一些我的看法,同时我也提出了一些自己的疑惑,才疏学浅希望能和各位一起讨论. 这里再说一点我最近看博客的想法:对任何一种算法由于大家的背景不同理解上可能有偏差,尤其是原作者是外国人的一些算法,网上的一些中文翻译一些地方会存在问…
微信搜『烟雨星空』,获取最新好文. 前言 最近,有一个业务需求,给我一份数据 A ,把它在数据库 B 中存在,而又比 A 多出的部分算出来.由于数据比较杂乱,我这里简化模型. 然后就会发现,我去,这不就是 not in ,not exists 嘛. 那么问题来了,in, not in , exists , not exists 它们有什么区别,效率如何? 曾经从网上听说,in 和 exists 不会走索引,那么事实真的是这样吗? 带着疑问,我们研究下去. 注意: 在说这个问题时,不说明 MySQ…
Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的.当Redis用于高并发场景时,这条线程就变成了它的生命线.如果出现阻塞,哪怕是很短时间,对于我们的应用来说都是噩梦.导致阻塞问题的场景大致分为内在原因和外在原因: □ 内在原因包括: 不合理地使用API或数据结构.CPU饱和.持久化阻塞等. □ 外在原因包括: CPU竞争.内存交换.网络问题等. 1.发现阻塞 当Redis阻塞时,线上应用服务应该最先感知到,这时应用方会收到大量Redis超时异常,比如Jedis客户端会抛出Je…
maze writeup 攻防世界的一道迷宫题,第一次接触这样的题,个人感觉很有意思,收获也挺多,做一篇笔记记录一下. 程序分析 __int64 sub_4006B0() { signed __int64 v0; // rbx signed int v1; // eax bool v2; // bp bool v3; // al const char *v4; // rdi __int64 v6; // [rsp+0h] [rbp-28h] v6 = 0LL; puts("Input flag:…
介绍得非常详细: 新生代回收:(复制算法) 在堆中,新生代主要存放的是哪些很快就会被GC回收掉的或者不是特别大的对象(是否设置了-XX:PretenureSizeThreshold 参数).复制算法的新生代分为3个区:较大的Eden和两个较小的Survivor(默认的Eden:Survivor = 8:1).发生在新生代的GC为Minor GC .在Minor GC时会将新生代中还存活着的对象复制进一个Survivor中,然后对Eden和另一个Survivor进行清理.所以,平常可用的新生代大小…
不知道大家有没有看过 Laravel 的源码.在 Laravel 源码中,对于用户密码的加密,使用的是 password_hash() 这个函数.这个函数是属于 PHP 密码散列算法扩展中所包含的函数,它是集成在 PHP 源码中的扩展,并且还是 PHP 官方所推荐的一种密码加密方式.那么它有什么好处呢? 实际上,password_hash() 这一系列的函数是对 crypt() 这个加密函数的一种封装.crypt() 函数也是一种单向散列函数,默认情况下是基于 UNIX DES 算法,这个函数的…