网易笔试,牛牛铺地毯求解答,感觉也没毛病啊😓
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNextInt()) { int n = scanner.nextInt(); for (int i = 0; i < n; ++i) { int nn = scanner.nextInt(); System.out.println(f(nn)); } } } public static long f(int n) { if (n <= 0) return 0; else if (n == 1) return 1; else if (n == 2) return 2; else if (n == 3) return 4; long[] dp = new long[n + 1]; dp[0] = 0; dp[1] = 1; dp[2] = 2; dp[3] = 4; for (int i = 4; i <= n; ++i) { dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]; } return dp[n]; } }
全部评论
(3) 回帖