2022-06-19:给出n个数字,你可以任选其中一些数字相乘,相乘之后得到的新数字x, x的价值是x的不同质因子的数量。 返回所有选择数字的方案中,得到的x的价值之和。 来自携程。...答案2022-06-19: 今晚在群里吹牛给耽误了,具体见代码。 代码用rust编写。...// value : 有多少个数含有这个因子 let mut cnt_map: HashMap = HashMap::new(); for num...); } } let n = arr.len() as isize; let mut ans = 0; // count :含有这个因子的数...,有多少个 // others : 不含有这个因子的数,有多少个 for (_, count) in cnt_map.iter() { let others = n -
大家好,又见面了,我是你们的朋友全栈君。 问题描述:给定一个整数转换成对应的罗马字符。 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。...给定一个整数,将其转为罗马数字。输入确保在 1 到 3999 的范围内。 问题分析 罗马数字共有七个,即I(1),V(5),X(10),L(50),C(100),D(500),M(1000)。...重复数次:一个罗马数字重复几次,就表示这个数的几倍。 右加左减:在一个较大的罗马数字的右边记上一个较小的罗马数字,表示大数字加小数字。在一个较大的数字的左边记上一个较小的罗马数字,表示大数字减小数字。...* 给定一个整数,将其转为罗马数字。输入确保在 1 到 3999 的范围内。...* 给定一个整数,将其转为罗马数字。输入确保在 1 到 3999 的范围内。
目录 1、什么叫数字签名 2、什么叫数字证书 3、交互过程 4、什么叫X.509数字证书 5、X.509证书数据结构 1、什么叫数字签名 数字签名: 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要...数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。...除了签名外,所有 X.509 证书还包含以下数据: **版本** 识别用于该证书的 X.509 标准的版本,这可以影响证书中所能指定的信息。迄今为止,已定义的版本有三个。...此名称使用 X.500 标准,因此在Internet中应是唯一的。...下面是一个完整的PEM格式证书: Certificate: Data: Version: 1 (0x0) Serial Number: 1 (0x1) Signature Algorithm
2023-06-20:给定一个长度为N的数组arr,arr[i]表示宝石的价值 你在某天遇到X价值的宝石, X价值如果是所有剩余宝石价值中的最小值,你会将该宝石送人 X价值如果不是所有剩余宝石价值中的最小值...,你会将该宝石放到所有宝石的最后 返回把宝石都送人需要多少天 比如arr = [3,1,4,3,1,2] 在第1天,你遇到了价值3的宝石,但是3并不是所有剩余宝石的价值最小值 所以你把3放在了所有宝石的最后...,arr = [1,4,3,1,2,3] 在第2天,你遇到了价值1的宝石,1是所有剩余宝石的价值最小值 所以你把价值1的宝石送人,arr = [4,3,1,2,3] 在第3天,你把价值4的宝石放到最后,...答案2023-06-20: 1.第一个方法(days1)使用了暴力的方式,通过遍历数组并移动宝石来模拟每一天的操作,直到所有宝石都被送出。时间复杂度较高。...2.第二个方法(days2)使用了更高效的算法。首先构建了一个支持查询累加和和最小值的数据结构(IndexTree和SegmentTree)。然后利用这些数据结构来计算送出所有宝石需要的天数。
前言 回文是指正序(从左向右)和倒序(从右向左)读都是一样的。...例如:121 ,abcdedcba,123321等都是回文 题目 这种的字符串“ABCABADCSABBAUYIIYU”找出回文出现的次数 子串回文是:’BB’, ‘II’,’ABA’,’ABBA’,...‘YIIY’,’UYIIYU’ 总共有6个 先找出所有的子串,子串长度大于等于2个子串 # 作者-上海悠悠 QQ交流群:717225969 # blog地址 https://www.cnblogs.com...BCABADCSABBAUYIIY', 'CABADCSABBAUYIIYU'] ['ABCABADCSABBAUYIIY', 'BCABADCSABBAUYIIYU'] ['ABCABADCSABBAUYIIYU'] 判断是否是回文...= 0 # 回文数大于2个字符 for i in range(2, len(a)+1): b = [] for j in range(len(a)-i+1): # 生成的组合
//题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。...例如6=1+2+3.编程找出1000以内的所有完数 #include #define N 1000 int main() { int i,j,k,n,sum; int a[256];...printf("以下是所有1000以内的完数:\n"); for(i=2;i<=N;i++) { sum=a[0]=1;//给第一个数字为1 k=0;...a[++k]=j;//注意这里先++保证质数赋值给a[1]开始,把质数存储到数组中 } } //对于2到1000内的所有数子...,只要满足这个数字等于他的质数和就执行以下语句 if(i==sum) { printf("%d=",i); for(n=
2022-11-25:连续出现的数字。编写一个 SQL 查询,查找所有至少连续出现三次的数字。答案是输出1,原因是1是唯一连续出现三次的数字。
2022-12-22:给定一个数字n,代表数组的长度, 给定一个数字m,代表数组每个位置都可以在1~m之间选择数字, 所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。...返回达标数组的数量。 1 <= n <= 500, 1 <= m <= 10, 500 * 10 * 10 * 10, 结果对998244353取模, 实现的时候没有取模的逻辑,因为非重点。...// f、s、t : ends数组中放置的数字!...// n : 一共的长度! // m : 每一位,都可以在1~m中随意选择数字 // 返回值:i..... 有几个合法的数组!...// 尤其是理解ends数组的意义! fn number2(n: i32, m: i32) -> i32 { //repeat(vec!
题目 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。 2. 分析 3.
图片 那么,当我确定一个数为质数,我自然可以将它所有的范围内的倍数(≥2\ge 2≥2)找出来,这些倍数一定是合数。 也就是若p为质数,那么 图片 就是合数。...解答:状态数组初始化为0,循环的方向是从小到大,过程中质数的在范围内的倍数都会被筛选掉。那么到i如果还是0,意味着质因子中不包含前面的这些质数,一个数在2~i-1这个范围内没有因子,那么他就是质数。...优化1 根据约数的分布性,一个数n如果是合数,其中较小的约数范围一定是在 图片 内。那么对于 图片 范围内的合数,一定可以被 图片 内的质数筛选掉。...每头奶牛轮流走上一圈,同时拍打所有手上数字能整除在自己纸条上的数字的牛的头,然后做回到原来的位置。牛们希望你帮助他们确定,每一头奶牛走上一圈时能够拍打的牛的数量。...回答:质数表中的质数是从小到大的,在遍历质数表时,可看做满足pj≤i的最小值因子p_j\le i的最小值因子pj≤i的最小值因子 ,遍历到的质数与i构成的序列就不重复。
2022-12-22:给定一个数字n,代表数组的长度,给定一个数字m,代表数组每个位置都可以在1~m之间选择数字,所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。返回达标数组的数量。...1 的时候没有取模的逻辑,因为非重点。来自微众银行。...// f、s、t : ends数组中放置的数字!...// n : 一共的长度!// m : 每一位,都可以在1~m中随意选择数字// 返回值:i..... 有几个合法的数组!...// 尤其是理解ends数组的意义!fn number2(n: i32, m: i32) -> i32 { //repeat(vec!
2025-04-15:吃掉所有兵需要的最多移动次数。用go语言,在一个 50 x 50 的国际象棋棋盘上,有一个骑士和若干个士兵。...值得注意的是,玩家可以选择棋盘上任意一个士兵,而并非一定要选择距离骑士最近的士兵。...• 使用一个三维数组dis,其中dis[i][x][y]表示第i个士兵到格子(x, y)的最短步数。 • 对每个士兵的位置进行BFS,填充dis数组。 2....• 如果是Bob的回合(偶数次剩余士兵),他希望最小化总移动次数,因此f[mask][i]取所有可能转移中的最小值。...• 最终结果是f[1所有士兵未被吃掉且骑士在初始位置时的总移动次数。
解题思路: 1,只包含给定因子,找出所有因子,看是否包含其他 func isUgly(num int) bool { if num<1{ return false }...解题思路: 1,注意,这里的丑数定义和前面不一样,前面是只有指定因子,这里是包含 2,求包含指定因子数的个数有下列公式 f(a)+f(b)+f(c)-f(ab)-f(ac)-f(bc)+f(...超级丑数是指其所有质因数都是长度为 k 的质数列表 primes 中的正整数。...第 n 个超级丑数确保在 32 位有符整数范围内。 解题思路: 1,超级丑数均为结果集合中的每个数和素数集合中的每个数相乘的来。...2,首先维护一个数组记录当前素数集合中的第i个数下一次需要乘结果集合中哪个下标对应的数 3,再维护一个数组记录第i个素数当前未加入到结果集合中的最小的次数 4,遍历n-1次,每次找到所有素数集合中乘上结果集合中的数对应的最小的数
2022-05-25:最大子段和是 一个经典问题,即对于一个数组找出其和最大的子数组。...现在允许你在求解该问题之前翻转这个数組的连续一段, 如翻转(1,2,3,4,5,6)的第三个到第五个元素組成的子数组得到的是(1,2,5,4,3,6), 则翻转后该数组的最大子段和最大能达到多少?...给定两个数組values和numbers, values[i]表示i号宝石的单品价值, numbers[i]表示i号宝石的数量, i号宝石的总价值 = values[i] * numbers[i]。...如果有一种魔法,可以翻转任何区间L...R的宝石,也就是改变L..R的宝石排列,变成逆序的。 求在允许用一次魔法的情况下,任取一段连续区间,能达到的最大价值。...这两个问法解法都几乎一样,区别无非是: 美团的: 可进行一次翻转情况下,子数组最大累加和; 字节的: 可进行一次翻转情况下,子数组最大价值和。 来自美团。
Description Input 第一行:CAS,代表数据组数(不大于350),以下CAS行,每行一个数字,保证在64位长整形范围内,并且没有负数。...你需要对于每个数字:第一,检验是否是质数,是质数就输出Prime 第二,如果不是质数,输出它最大的质因子是哪个。 ...Output 第一行CAS(CAS的组数) 以下CAS行:每行一个数字,保证是在64位长整形范围内的正数。 ...对于每组测试数据:输出Prime,代表它是质数,或者输出它最大的质因子,代表它是和数 Sample Input 6 2 13 134 8897 1234567654321 1000000000000...Sample Output Prime Prime 67 41 4649 5 HINT 数据范围: 保证cas所有数字均在64位长整形范围内。
2022-04-22:给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量。...战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)的形状建造,其中 k 可以是任意大小。...两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。 输入:board = ["X",".",".","X",".",".",".","X",".",".",".","X"]。...甲板上的战舰。 来自米哈游。 答案2022-04-22: 并查集或者岛问题都行,但这不是最优解。 数战舰的左上角,统计左上角的点的个数就行。 时间复杂度:O(N**2)。 代码用rust编写。...['X', '.', '.', 'X'], vec!['.', '.', '.', 'X'], vec!['.', '.', '.
完美数 完美数(perfect number,又称完全数)指,它所有的真因子(即除了自身以外的因子)和,恰好等于它自身。...笛卡尔曾公开预言:“能找出的完美数是不会多的,好比人类一样,要找一个完美人亦非易事。” 时至今日,人们一直没有发现有奇完美数的存在。于是是否存在奇完美数成为数论中的一大难题。...在计算机数值型可以表达的的范围内,我们可以尝试找一找。...很遗憾,今天我发现这是一个错误的解法,虽然在Leetcode上已经通过。...5 正解 如果遍历所有的小于num的数,check是否为其因子,时间复杂度为o(n),在平台上提交会超时。
) 计算机0-100数字计算,要实现加法,最笨的方法是要两两相加,一旦数据多了就很难完成 定义:在所有测试数据中(有满足要求的也有不满足要求的),挑选出具有某种共同特征的数据子集 (把所有数字进行分类...因为当我们测试了上点0的是时候都已经满足大于0,那么1肯定是满足的,相同的100都已经满足了这个范围的测试那么,99肯定是满足的 (0,100】x>0 x<=100 上点:0 100 离点:1 101...所有路径都要被覆盖 正交试验法(配置测试) 每个值出现的概率是相同的,配置中有很多值之间没有很强烈的关系依赖 数理统计公式(数学公式),在所有测试例中挑选中合适的例(能代表所有点的)从而合理的安排测试的一种科学试验设计方法...,这些大量的数据我们提炼出为用例了代表所有配置的组合 因子即为条件(有三个配置项就有三个因子) 水平为一个条件取出几个值 步骤 获取到因子和水平 根据因子和水平选择正交表(根据数学公式选择,比如五因子二水平对应什么...不可单独使用,是用来补充测试的 总结 判定表需求分析、找出输入和输出、找出条件栓和动作栓——全组合 因果图(当输入条件非常多的时候)需求分析、找出输入和输出、找出条件栓和动作栓——分析条件与结果之间的关系
扩展: (1)计算指定范围内某一个数的倍数之和。 (2)计算某范围内所有数的乘积。 (3)求某一个数列的和。...4.排序 (1)选择法:每次先找出最小数所在的F标,排序结束后,交换最小数的位置。 (2)冒泡法:两两比较后交换。 (3)合并法:将两个有序的数组合并成一个仃序的数组。...5.数列的插入、删除和重组 (1)插入:对原数组进行扩充,循环查找插入位置(逐个比较),找到后,从后向前依次移动每一个数字,直到该位置,然后将数据插入。...递归描述有两个关键要素:一是递归结束的条件;二是迭代公式(此次的结果能够作为下一次的变量)。 递归过程的分析:递推n次直到结束条件满足,回归n次得到运算结果。 典型递归:阶乘的计算1!=1,n!...整型数据的处理:各位数字的拆分;数的因子;最大公约数gcd(m,n)=a与最小公倍数m*n/a;素数与合数;互质数(两个数的最大约数为1,两个数有公因子)。