![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法与数据结构
算法与数据结构案例
菜鸟小窝
这个作者很懒,什么都没留下…
展开
-
位运算求和
private static int sum(int a, int b) { while (b != 0){ int c = a & b; int d = a | b; a = d ^ c; b = c << 1; } return a; }原创 2021-07-19 10:56:41 · 322 阅读 · 0 评论 -
递归改循环,防止栈溢出
使用递归会有栈溢出的问题,这个时候需要把递归改为循环。以下代码演示了递归改循环的方法。并且最后还附加了复制树结构的案例(将Person的树结构,复制为Human树结构)。 import java.util.ArrayList; import java.util.List; import java.util.Stack; class Main { public static void main(String[] args) { // 构建 原始数据 Person原创 2021-07-02 15:00:28 · 804 阅读 · 0 评论 -
原始序号根据因子进行计算乱序的序号
对试题的原始序号进行乱序处理,得到新的序号。 import java.util.HashSet; /** * 解决序号乱序问题 * * 将试题序号和因子进行异或运算,得到新的序号。 * 以下代码可以验证,不同试题序号(1-300)和同一个因子进行异或运算后,得到的结果不会重复。 * 并且对因子的取值范围(0-199)的,全部进行了验证。这里注意,因子取值0,运算后序号不会变。 */ public class HashTest { public static void main(Str原创 2021-03-10 15:44:21 · 134 阅读 · 0 评论