摘要: 一、问题: 有一个X*Y的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。 请设计一个算法,计算机器人有多少种走法。 给定两个正整数int x,int y,请返回机器人的走法数目,保证x+y小于等于12。 二、思路: 思考这类看起来很复杂的问题,实际上就越有规律可循,我们先列举一 阅读全文
posted @ 2019-01-30 20:19 |旧市拾荒| 阅读(971) 评论(0) 推荐(1) 编辑
摘要: 快速幂运算: 快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn),快了好多好多。它的原理如下: 假设我们要求a^b,那么其实b是可以拆成二进制的,该二进制数第i位的权为2^(i-1),例如当b== 阅读全文
posted @ 2019-01-30 16:28 |旧市拾荒| 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 素数定理:给出从整数中抽到素数的概率。从不大于n的自然数随机选一个,它是素数的概率大约是1/ln n。也就是说在不大于n的自然数里,总共的素数为 n/lgn。 筛法: 用筛法求素数的基本思想是(本质上也能算是一种预处理):把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。 阅读全文
posted @ 2019-01-30 11:10 |旧市拾荒| 阅读(757) 评论(0) 推荐(0) 编辑
摘要: import java.util.HashMap; import java.util.Map; public class PrimeNumber { public static void main(String[] args) { boolean res = isPrime(7); System.out.println(res); Map map = primeFactor(1... 阅读全文
posted @ 2019-01-30 08:59 |旧市拾荒| 阅读(377) 评论(0) 推荐(1) 编辑