蓝桥杯相关知识点(个人笔记)

一.全排列问题

没有重复数字的全排列问题,可以用递归回溯:

b37d0f75b5df14515bd2a4dc20e6c126.png

http://t.csdn.cn/niEr7

二、求乘方,用到了Math.pow(a,b)

 

三、注意数值范围

暴力遍历50000*50000正方形中每一个方格 要用long:(java错误:编译出错,提示 The literal XXXXXXXXXXXXXXXX of type int is out of range)

 

四、substring()

//substring()的作用就是截取父字符串的某一部分 substring(a,b)中的参数a其值可以从索引值0开始,当a等于0时,则表示其从字符串的第一个字符开始算起,也就是其子字符串是包含第一个字符的,当然,你也可以从后续的其他字符开始;substring(a,b)中的参数b,其值最大可以为 父字符串的长度, 但并不包含索引值为b的那个字符。

原文链接:https://blog.csdn.net/ORANGE_3iING/article/details/128545791

 

五、求字串问题,Set

求子串问题, 滑动窗口 的经典应用。我们只需要用Set对子串进行去重,把字符串的每一个子串都添加到Set里面即可。

Set<String> set = new HashSet<>();

 

六、最大公约数

以除数和余数反复做除法运算,当余数为0 时,取当前算式除数为最大公约数

原文链接:https://blog.csdn.net/ORANGE_3iING/article/details/128874411


 public class Main{
    public static void main(String[] args){
        int b = gcd(7,3);
        System.out.println(b);
    }
    public static int gcd(int m,int n) {//两个数的最大公约数
        while(n!=0) {//当上一个的余数不等于0
            int temp = m%n;//用temp放两个数的余数
            m = n;//被除数变为上一个除数
            n = temp;//除数变为上一个余数
        }
        return m;//当余数(temp)为0的时候,n=temp=0;此时那个除数赋给m了,而n变成0,我们要的是那个除数。
    }
}

 

七、看到年份、日期,记得考虑是否闰年,是否符合日期格式(月份、天数)

http://t.csdn.cn/cX5P5

 

八、闰年:

(year%4==0&&year%100!=0)||(year%400==0)

 

九、质数:

又称素数:在大于1的自然数中,除了1和它本身以外不再有其他因数。

 

互质数:

公因数只有1的两个非零自然数

同余定理:

例如:1234%10

1234%10=(((1%10*10+2)%10*10+3)%10*10+4)%10

 

高次方数的尾数:(?????)

规律:1-100中 凡是有因子5,尾数就增加一个零;有因子25,尾数就增加两个零。

100!有24个零,1000!有249个零。

 

 

 

输入两个正整数,表示每种包装中糖的颗数(都不多于 1000 )。

输出一个正整数,表示最大不能买到的糖数

定理:

(1)如果p和q的最大公约数 > 1 ,那么一定不存在p和q无法组成的最大的数

(2)如果p和q互质,那么p和q无法组成的最大的数就是 (p−1)∗(q−1)−1

 

用仔细观察,203879是个 6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。http://t.csdn.cn/PJt01

set去重,BigInteger

 

 

 

(待解决):

http://t.csdn.cn/mop64

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值