算法
abckingaa
一个软件设计爱好者。主要项目经验集中在银行等金融领域,有10余年工作经历。对软件设计如何提高开发效率,提高易维护性,易扩展性,分布式系统、大数据量高可用、高并发系统有深入研究!
展开
-
判断三边是否可以组成三角形(C语言)
printf("不可以组成三角形\n");printf("可以组成三角形\n");//移项后,也会满足以下的,所以不用再写。//任意两边之差小于第三边。//任意两边之和大于第三边。原创 2024-01-27 13:46:38 · 643 阅读 · 0 评论 -
判断素数的程序
在这个示例中,isPrime函数用于判断一个数是否为素数。它首先排除了小于等于1的数,然后通过循环从2开始尝试除以小于等于其平方根的数,如果能被整除则返回0,表示不是素数;否则返回1,表示是素数。判断一个数是否为素数的常见算法是试除法。素数(质数)是指只能被1和自身整除的正整数,因此可以通过逐个尝试除以小于该数的所有正整数来判断一个数是否为素数。这个算法的时间复杂度为O(√n),可以在较短的时间内判断较大的数是否为素数。原创 2024-01-27 13:45:53 · 469 阅读 · 0 评论 -
工厂模式/抽象工厂模式的缺点及解决方法
如果需要增加新的产品,只需创建新的具体产品类和对应的具体工厂类,而不需要修改现有的客户端代码,符合开闭原则。如果需要增加新的实现类,只需要创建新的具体产品类和对应的具体工厂类,而不需要修改现有的客户端代码,符合开闭原则。抽象工厂模式可以创建一组相关或依赖的产品对象,而不需要指定它们的具体类。这样,当需要添加新的产品时,只需创建新的具体产品类和对应的具体工厂类,而不需要修改现有的代码。你说得对,如果产品的种类增加,那么工厂方法模式可能需要修改现有的代码来添加新的具体工厂类和产品类,这将违反开闭原则。原创 2024-01-14 23:19:42 · 463 阅读 · 0 评论 -
求最大公约数,和最小公倍数的规则
例如,12和18的最小公倍数是36,因为12的倍数是12、24、36,18的倍数是18、36,而它们共有的倍数中最小的一个是36。首先,用a除以b,得到余数r1,然后用b除以r1,得到余数r2,继续用r1除以r2,得到余数r3,以此类推,直到余数为0。更相减损法:假设有两个整数a和b,求它们的最大公约数。首先,用较大的数减去较小的数,得到差d,然后用较小的数和d继续做同样的操作,直到两个数相等。分解质因数法:将两个数分别分解成质因数的乘积,然后取它们的公共质因数和非公共质因数的乘积,即为它们的最小公倍数。原创 2023-12-03 23:16:16 · 447 阅读 · 0 评论 -
Top n排序算法
Top n 排序算法,Top n只需要选出前几名最大或最小值。原创 2021-12-27 10:13:49 · 2115 阅读 · 0 评论 -
教你如何避开雪花算法的坑
教你如何避开雪花算法的坑!<p> ---------------------------------------------<p> org.teasoft.honey.distribution.SerialUniqueId* 在一个workerid内连续唯一的ID生成方法(绝对连续单调递增,全局唯一).Serial Unique Id in one workerid.* 优点:连续唯一;不依赖时钟. 在DB内实现,可达到分布式全局唯一ID在DB内自增长..原创 2020-09-17 21:31:17 · 5714 阅读 · 2 评论 -
除了996,还有更好的提高效率的办法
这段时间,996成为热点话题,阿里巴巴、京东等企业的负责人相继就996发表看法。所谓996,是指工作从早上9点到晚上9点,一周工作6天,代表着中国互联网企业盛行的加班文化。如何看待工作与休息、奋斗拼搏与加班文化、员工权利与企业治理,引发全社会的广泛讨论。进行理性的分析之前,需要在价值观层面澄清一个误解,即对996有争议,并不是不想奋斗、不要劳动。今天,从梦想改变命运的个体,到在经济下行压力背景...原创 2019-04-15 10:41:32 · 1164 阅读 · 0 评论 -
时间复杂度,空间复杂度,编码复杂度有什么区别与联系
时间复杂度,空间复杂度,编码复杂度有什么区别与联系时间复杂度是程序求解问题,所需要执行的次数,如for(inti=0;i<n;i++){...}会执行n次,则时间复杂度是O(n);像简单排序,冒泡排序,选择排序,有两层for循环,要执行NxN次,则时间复杂度是O(n^2);它们在排序时交换变量要用到一个临时变量作为临时存储空间,所以空间复杂度为O(1)。时间复杂度与空间复...原创 2019-04-06 11:17:44 · 1474 阅读 · 0 评论 -
数据结构的疑问,需要到《数据结构》教材外才能找到答案的问题
有时候发现问题也很重要,一直捧着一本教材,有些问题人家问了,自己连问题都没听说过,更别说回答了。《数据结构》有时间复杂度和空间复杂度,却没有 编码复杂度。编码复杂度: https://blog.csdn.net/abckingaa/article/details/84557437第一个实现编码复杂度为O(1)的框架,ORM的Bee 框架。...原创 2019-03-23 16:45:19 · 337 阅读 · 0 评论 -
按1,2,3循环报数,报3的出局,求剩下最后一个的编号
按1,2,3循环报数,报3的出局,求剩下最后一个的编号以下为,C/C++语言实现:#include<stdio.h>#include<string.h>#define N 10 //不能有分号 否则a[N] 会变成:a[20;]void count3(){ int a[N]={0};//行不写具体会出错。 int n=N; ...原创 2019-03-23 16:36:45 · 1325 阅读 · 0 评论