数学
目前只有最大公因数类
安洁莉娅丶
这个作者很懒,什么都没留下…
展开
-
DES加密算法(Java实现)
2021.3.29信息安全课上要求算一个DES的一个流程。实在不想用手算,于是用Java语言实现了分解功能,特此记录。算法步骤参考博客:点击此处上面博客的图可以说是非常清晰了。package entrypt_homework;public class DES { //起始置换表 长度8X8 public int[] innitial = new int[]{ 58,50,42,34,26,18,10,2, 60,52,44,3原创 2021-03-29 10:12:32 · 2530 阅读 · 2 评论 -
剑指Offer:数值的整数次方(Java实现)
本题在面试中如果出现,属于考验代码鲁棒性的题目。考点:1、指数是负数的情况。2、如果是负数,需要1/基数,基数是0怎么办?3、快速幂的写法。粗暴的写法时间复杂度O(n)空间复杂度O(1)public class Solution { public double Power(double base, int exponent) { //1、第一种朴素一点的方法。 if(base == 0){ return 0; }原创 2020-12-08 11:43:07 · 140 阅读 · 0 评论 -
剑指Offer:二进制中1的个数(Java实现)
以前在力扣上做过只有正数的1的个数,是可以用动态规划来做的。这里的题按照书本所说,需要考虑到负数的情况。负数就非常麻烦。比如-10。正数是:0000…1010但是负数是:11111…0101(30个1,2个0)在书上有两种方法:一种是技巧法,可以记住,但是不适合现场想出来。即:n 与 n-1 相与会把最右边的一个1给去掉。public class Solution { public int NumberOf1(int n) { //技巧法 int原创 2020-12-07 23:26:25 · 118 阅读 · 0 评论 -
力扣工作周刷题 - 476. 数字的补数
2020.10.11原题:点击此处简单题考察的是异或的知识。class Solution { public int findComplement(int num) { //1、步骤1 算出num对应位数的最大二进制数 int max = 1; while(max < num){ max = max << 1; max += 1; } //2、步骤2原创 2020-10-11 17:43:01 · 101 阅读 · 0 评论 -
力扣周末回顾8 - 914题 卡牌分组
2020.3.28力扣周末回顾第八题原题:点击此处考点:最大公约数,辗转相除法。题目:在一堆卡牌中,是否能分成很多组都是卡牌数字相同,且数量大于等于2?题解:1.遇到这种分成很多组的,且要求每一组的数量都相同的时候,优先考虑最大公约数!!(被坑了好惨,主要还是很少做这类题目)2.只要想到最大公约数,问题就瞬间简单了。3.我们要知道这副牌,有多少个不同的数字,每一个数字有多少个。很...原创 2020-03-28 11:04:43 · 130 阅读 · 0 评论 -
力扣周末回顾7 - 1071题 字符串的最大公因子
2020.3.28周末回顾第七题原题:点击此处考点:字符串,最大公约数。题目:找到两个字符串中共同的最长的重复字段。题解:1.看题目就已经透题了,就是要靠我们最大公因数。2.手写辗转相除法。3.注意不合条件的写法。4.由于此算法在拼接时要进行n 除以 最大公约数的次数同时要进行拼接两次。因此时间复杂度是O(n)。由于只开辟了常量级的空间temp,空间复杂度为O(1);c...原创 2020-03-28 10:45:34 · 125 阅读 · 0 评论