快速选择原理如下,选择第k大的数字: 我们在快速选择的时候,也同样用了划分的思想,随机选择一个中轴,双指针i, j,指针i从左往右扫描,指针j从右往左扫描,如果i < j 则进行交换,并且继续循环,直到遇到中轴,这时候我们的i和j均为中轴(理由:因为i,j相等),如果数字在中轴的左边,则向左递归,如 ...
分类:
其他好文 时间:
2020-08-17 17:30:16
阅读次数:
98
素数又称质数。所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。思路1):因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。思路2):另外判断方法还可以简化 ...
分类:
编程语言 时间:
2020-08-17 17:27:59
阅读次数:
72
一、RSA攻击大全 1. 模数分解 Small q:模数N有小素数因子; fermat:模数N的因子p与q非常接近; 模不互素:给出多组公钥,但是其中的模数共用了素因子; 2. 针对指数进行攻击 小公钥指数攻击:指数很小; 低加密指数广播攻击:相同的消息发送给多个接收者,且加密指数较低; 3. 针对 ...
分类:
其他好文 时间:
2020-08-17 17:27:45
阅读次数:
121
title: 数据结构 | 图-3 | 图的遍历 date: 2019-11-26 22:38:52 tags: 数据结构 BFS、DFS 深度优先遍历(DFS) 从图的某一顶点V0出发,访问此顶点;然后依次从V0的未被访问的邻接点出发,深度优先遍历图,直至图中所有和V0相通的顶点都被访问到; 若此 ...
分类:
其他好文 时间:
2020-08-17 17:23:45
阅读次数:
58
题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 分析与题解 在忽略空链表的情况下,利用递归的思想依次对两个链表的元素进行比较和合并,大致思路如下: $$\l ...
分类:
编程语言 时间:
2020-08-15 22:32:54
阅读次数:
63
1.1 cat -n httpd.conf | more -n 显示每一行编号 more 用于分屏显示文本; 1.2 echo 显示一行文本 -n 不输出行尾的换行符. -e 允许对下面列出的加反斜线转义的字符进行解释. -E 禁止对在STRINGs中的那些序列进行解释. --help 显示帮助并退 ...
分类:
系统相关 时间:
2020-08-13 12:32:28
阅读次数:
89
前言 本文收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 上一节,我们使用位图介绍了12306抢票算法的实现,没有收到推送的同学可以点击上方专辑查看,或者在公主号历史消息中查看。 在上一节的最后,彤哥 ...
分类:
其他好文 时间:
2020-08-13 12:26:30
阅读次数:
49
1. .NET和C#有什么区别 答:.NET一般指 .NET FrameWork框架,它是一种平台,一种技术。 C#是一种编程语言,可以基于.NET平台的应用。 2.一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,用递归算法实现。答:public cla ...
题目来源:算法竞赛进阶指南 题目标签:递归,动态规划 题目链接:https://www.acwing.com/problem/content/98/ 思路:1.先用动态规划考虑三塔问题,状态转移方程为:d[ i ]=d[i - 1] * 2 + 1 (当前圆盘等于把当前圆盘上面的圆盘先移动到第二个塔 ...
分类:
其他好文 时间:
2020-08-09 13:09:20
阅读次数:
71