首页 > TAG信息列表 > 1000000007

斐波那契数列的第n项

一、题目 求斐波那契数列的第n项,第0项是0,第1项是1。答案需要取模(1000000007) 二、思路 斐波那契数列某一项,等于前面两项之和。 三、程序实现 var fib = function(n) { let dp=[]; dp[0]=0; dp[1]=1; for(let i=2;i<=n;i++){ dp[i]=dp[i-1]+dp[i-2]; dp[i]=dp[i]%(1000000007) } ret

1093 Count PAT‘s (25 分)

题目链接 题意 给出一个仅包含P A T的字符串,可以组成多少个PAT子串。 思路 PAT中A处于中间,所以对于字符串中的每个A,都可以和它前面的所有P和后面的所有T组成p*t个PAT子串,因此只需找出每个A前P的个数和P后T的个数即可。 从前往后遍历字符串,对于遇到的每个A,对应P的个数为已遍历

PAT练习 有几个PAT

题目描述: 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位( P),第4位(A),第6位(T);第二个PAT是第3位( P),第4位(A),第6位(T)。 现给定字符串,问一共可以形成多少个PAT? 输入描述: 输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。 输出描述: 在一行中

剑指 Offer 10- I. 斐波那契数列

https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/ 使用动态规划 使用返回a,是因为,当使用b返回的时候需要考虑n == 0 的特例 class Solution { public int fib(int n) { int a = 0, b = 1, sum; for(int i = 0; i < n; i++){ sum =

1040. 有⼏个PAT

1040. 有⼏个PAT 字符串APPAPT中包含了两个单词“PAT”,其中第⼀个PAT是第2位§,第4位(A),第6位(T); 第⼆个PAT是第3位§,第4位(A),第6位(T)。 现给定字符串,问⼀共可以形成多少个PAT? 输⼊格式: 输⼊只有⼀⾏,包含⼀个字符串,⻓度不超过105,只包含P、A、T三种字⺟。 输出格式: 在⼀⾏

高频leetcode动态规划部分:剑指 Offer 10- I. 斐波那契数列

剑指 Offer 10- I. 斐波那契数列 难度简单292 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。

Leetcode剑指Offer刷题 - 第八天

Leetcode剑指Offer刷题指南: Leetcode剑指Offer刷题-学习计划目录_DEGv587的博客-CSDN博客 剑指 Offer 10- I. 斐波那契数列  解法:动态规划,如果用递归会超时) 注意:题内有要求 --> 答案需要取模 1e9+7(1000000007) class Solution { public int fib(int n) { if (n <

面试题 08.11. 硬币

硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007) 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/coin-lcci 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 动态规

Fib数列 - JAVA实现

Fib数列 题目链接:力扣Fib数列 递归(超时) class Solution { public int fib(int n) { if(n==0) return 0; if(n==1||n==2) return 1; else return fib(n-1)+fib(n-2); } } 递推 class Solution { public int fib(int n) { long f[]

青蛙跳台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof著作权归领扣网络

leetcode p940不同的子序列

先上demon(代码) class Solution { public:     int distinctSubseqII(string s) {         long long harsh[2001][150]={0};         long long count[2001]={0};         count[0]=1;         for(char i='a';i<='z';i++)   

蓝桥杯校赛--9

在这里插入代码片 #include<stdio.h> int f(int k, int n); int main() { int k, n; scanf_s("%d", &n); k = n / 2; printf("%d", f(k, n)% 1000000007); return 0; } int f(int k, int n) { if (k == 0 || k == n) {//终止条件 return 1; }

pat乙级 有几个pat(类似于跳楼梯问题)

PAT真题在线练习_过20题领考试代金券_牛客题霸_牛客网 import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); char[] arr =str.toCharArray();

剑指Offer-10 Ⅰ

斐波那契数列 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0,   F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007

斐波那契数列

题目 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结

面试题 08.01. 三步问题(dp)

题目 三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入:n = 3 输出:4 说明: 有四种走法 示例2: 输入:n = 5 输出:13 提示: n范围在[1, 1000000]之

LeetCode每日一题——剑指 Offer 10- I. 斐波那契数列

转载请注明作者和出处:https://blog.csdn.net/qq_28810395 运行平台: Windows 10 LeetCode官网:Fhttps://leetcode-cn.co 一、剑指 Offer 10- I. 斐波那契数列   写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1

原根

Definition 若 \(a\) 模 \(m\) 的阶等于 \(\varphi(m)\),则称 \(a\) 为模 \(m\) 的一个原根。\((a\in\mathbb{Z},m\in\mathbb{N^+})\) Special Case \(3\) 是 \(998244353\) 的原根。 \(5\) 是 \(1000000007\) 的原根。

Sword10- I——斐波那契数列

Sword10- I——斐波那契数列 方法1——动态规划 思路: 确定状态:dp为一维数组,第n个元素为dp[n]转移方程:F(N) = (F(N - 1) + F(N - 2)) % 1000000007初始状态和边界情况:F(0) = 0,F(1) = 1计算结果:dp[n]即为第n个元素 特殊情况与临界分析:F(0) = 0,F(1) = 1终止条件:第n项时直接返

【剑指offer】剪绳子

剑指 Offer 10- I. 斐波那契数列

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0,   F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为

day 03 剑指 Offer 10- I. 斐波那契数列-动态规划

题目 官方链接:https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/ 题解 斐波那契数列的定义是 f(n + 1) = f(n) + f(n - 1) ,生成第 n 项的做法有以下几种 递归 原理:将问题拆分成f(n-1),f(n-2)两个子问题递归,以f(0)=0,f(1)=1为终止条件。 缺点:会计算大量重复的子

第五届蓝桥杯JavaB组第九题:地宫取宝

第九题:地宫取宝 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小

为什么要模1000000007

大数相乘,大数的排列组合等为什么要取模 1000000007是一个质数(素数),对质数取余能最大程度避免结果冲突/重复 int32位的最大值为2147483647,所以对于int32位来说1000000007足够大。 int64位的最大值为2^63-1,用最大值模1000000007的结果求平方,不会在int64中溢出。 所以在大数相

剑指 Offer 10- I. 斐波那契数列

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 剑指 Offer 10- I. 斐波那契数列 题目描述解题过程解题思路 总结 题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(