本周算法方法总结

1、BigInteger的方法

System.out.println(a.add(b));//大整数加法

System.out.println(a.subtract(b));//减法

System.out.println(a.multiply(b));//乘法

System.out.println(a.divide(b));//除法

System.out.println(a.remainder(b));//取模

//大整数的比较

if(a.compareTo(b) == 0)

System.out.println("a == b");

else if(a.compareTo(b) > 0)

System.out.println("a > b");

else if(a.compareTo(b) < 0)

System.out.println("a < b");

//大整数的绝对值

System.out.println(a.abs());

//计算大整数的幂次方

int exp = 10;

System.out.println(a.pow(exp));

//返回大整数十进制的字符串表示

System.out.println(a.toString());

//返回大整数p进制的字符串表示

int p = 8;

System.out.println(a.toString(p));



求一个数n的公因数  队列用HashSet

for(int i =0 ;i<=n的平方;i++){

if(n%i==0){

队列.add(i);

队列.add(n/i);

}

}

下面是数组复制方法

A.用循环语句逐个复制数组

B.用方法arraycopy

D.用clone方法

1.  Arrays.sort(arr); // 对arr数组从小到大排序

2.  while(s.hasNext()){ 

                }; // 接受不定数量的数

3. int X=Integer.parseInt(x);  //将数字字符串转化为整数型

4. char[] Count=count.toCharArray();  //分割字符串

比较a与b是否相同  a.matches(b) 正确输出true

A.charAt(0) 取A字符串中下标为0的字符

StringBuilder 中有两个比较好的方法:append  reverse 所以可将string转换一下用方法

拼接

StringBuilder sc=new StringBuilder(”12345”);

sc.append(“789”).append(“10”);

反转

sc.reverse();

转化

String s=sc.toString();

StringBuilder sc=new StringBuilder(s);


可以通过递归调用来缩小问题规模,且新问题与原问题有着相同的形式。(自身调用)

存在一种简单情境,可以使递归在简单情境下退出。(递归出口)


def f(mode):

    if end_condition:  # 递归出口

        end

    else:

        f(mode_small)  # 递归本身,递归


def fibonacci(i):

    """斐波那契数列"""

    if i <= 2:

        return 1

    else:

        return fibonacci(i-1) + fibonacci(i-2)


def monkey(n):

    """猴子分桃"""

    if n == 1:

        return 1

    else:

        return (monkey(n-1)+1)*2


def hanoi(n, a, b, c):  # a为初始位,b为过渡位,c为目标位

    """汉诺塔"""

    if n == 1:

        print(a, '-->', c)

    else:

        hanoi(n-1, a, c, b)  # 初始位为a,通过c移动到b

        print(a, '-->', c)

        hanoi(n-1, b, a, c)  # 初始位为b,通过a移动到c

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JAVA经典算法40题 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到...
    密奕阅读 355评论 0 0
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,904评论 0 2
  • 1 2 命名规则 标识符起名:不能以数字开头,不能是java的关键字,区分大小写 标识符组成规则:英文大小写,数字...
    西瓜菠萝8800阅读 233评论 0 0
  • 19.01_异常(异常的概述和分类) A:异常的概述异常就是Java程序在运行过程中出现的错误。 B:异常的分类通...
    冰川_阅读 417评论 0 1
  • 1.判断是否是闰年 Scanner input=new Scanner(System.in); System.ou...
    小小欣心阅读 1,125评论 0 1