我是靠谱客的博主 年轻龙猫,最近开发中收集的这篇文章主要介绍蓝桥杯:java【思特奇杯·云上蓝桥-算法集训营】第3周一题目描述代码 二题目描述 代码 三题目描述 代码 四题目描述 代码 五题目描述 代码 六题目描述 代码七题目描述 代码(部分用例通过)八题目描述 代码 九题目描述 代码十题目描述 代码,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
一
题目描述
代码
package lan3;
import java.util.Scanner;
public class demo1 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int a=in.nextInt();
System.out.println(fib(a));
}
public static int fib(int n) {
if(n==0)
return 0;
if(n==1)
return 1;
int a=0;
int b=1;
int c=0;
for(int i=2;i<=n;i++)
{
c=a+b;
a=b;
b=c;
}
return c;
}
}
二
题目描述
代码
package lan3;
import java.util.Scanner;
public class demo2 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int a=in.nextInt();
System.out.println(tribonacci(a));
}
public static int tribonacci(int n) {
if(n==0)
return 0;
if(n==1 || n==2)
return 1;
int a=0;
int b=1;
int c=1;
int d=0;
for(int i=3;i<=n;i++)
{
d=a+b+c;
a=b;
b=c;
c=d;
}
return d;
}
}
三
题目描述
代码
package lan3;
import java.util.Scanner;
public class demo3 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int a=in.nextInt();
System.out.println(climbStairs(a));
}
public static int climbStairs(int n) {
int[] dp =new int[n+1];
dp[0]=1;
dp[1]=1;
for(int i=2;i<n+1;i++)
{
dp[i]=dp[i-1]+dp[i-2];
}
return dp[n];
}
}
四
题目描述
代码
package lan3;
public class demo4 {
public static void main(String[] args) {
int a[]={10,15,20};
System.out.println(minCostClimbingStairs(a));
}
public static int minCostClimbingStairs(int[] cost) {
int n=cost.length;
int [] dp=new int [n+1];
dp[0]=dp[1]=0;
for(int i=2;i<=n;i++)
{
dp[i]=Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
}
return dp[n];
}
}
五
题目描述
代码
package lan3;
public class demo5 {
public static void main(String[] args) {
int a[]={7,1,5,3,6,4};
System.out.println(stock(a));
}
private static int stock(int a[])
{
int max=0;
for(int i=0;i<a.length-1;i++)
{
for(int j=i+1;j<a.length;j++)
{
int x=a[j]-a[i];
if(x>max)
max=x;
}
}
return max;
}
}
六
题目描述
代码
package lan3;
public class demo6 {
public static void main(String[] args) {
String s="abcde";
String s1="ace";
System.out.println(longestCommonSubsequence(s,s1));
}
public static int longestCommonSubsequence(String text1, String text2) {
int a=text1.length();
int b=text2.length();
int[][] dp=new int [a+1][b+1];
for(int i=0;i<a+1;i++)
{
dp[i][0]=0;
}
for(int j=0;j<b+1;j++)
{
dp[0][j]=0;
}
for(int i=1;i<a+1;i++)
{
char c=text1.charAt(i-1);
for(int j=1;j<b+1;j++)
{
char d=text2.charAt(j-1);
if(c==d)
{
dp[i][j]=dp[i-1][j-1]+1;
}else
{
dp[i][j]=Math.max(dp[i][j-1],dp[i-1][j]);
}
}
}
return dp[a][b];
}
}
七
题目描述
代码(部分用例通过)
package lan3;
import java.util.Scanner;
public class demo7 {
public static void main(String[] args) {
int [][]dp=new int[100][100];
Scanner in=new Scanner(System.in);
int a=in.nextInt();
if(a==1)
System.out.println(1);
for(int i=0;i<100;i++)
{
dp[i][0]=1;
dp[i][i]=1;
}
for(int j=2;j<100;j++)
{
for(int k=1;k<j;k++)
{
dp[j][k]=dp[j-1][k]+dp[j-1][k-1];
if(a==dp[j][k])
{
System.out.println((j+1)*j/2+k+1);
return;
}
}
}
}
}
八
题目描述
代码
package lan3;
import java.io.*;
import java.util.*;
public class demo8 {
private static int[][] dp;
private static List<List<Integer>> vertex = new ArrayList<>();
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
int n=scanner.nextInt();
dp = new int[n][2];
for (int i = 0; i < n; i++) {
dp[i][1]=scanner.nextInt();
vertex.add(new ArrayList<Integer>());
}
scanner.nextLine();
for (int i = 0; i < n - 1; i++) {
final String[] ab =scanner.nextLine().split(" ");
int a = Integer.parseInt(ab[0]) - 1;
int b = Integer.parseInt(ab[1]) - 1;
vertex.get(a).add(b);
vertex.get(b).add(a);
}
scanner.close();
dfs(0, -1);
System.out.println(Math.max(dp[0][0], dp[0][1]));
}
private static void dfs(int root, int pre) {
List<Integer> temp = vertex.get(root);
for (int i = 0; i < temp.size(); i++) {
if (temp.get(i) != pre) {
dfs(temp.get(i), root);
dp[root][1] += dp[temp.get(i)][0];
dp[root][0] += Math.max(dp[temp.get(i)][0], dp[temp.get(i)][1]);
}
}
}
}
九
题目描述
代码
package lan3;
import java.util.Scanner;
public class demo9 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[][] dp = new int[4][n+1];
for(int i=1;i<=n;i++){
dp[1][i] = i;
}
for(int i=1;i<=n;i++){
int val = Integer.MAX_VALUE;
for(int j=1;j<=i;j++){
int temp = 1 + Math.max(dp[2][i-j],dp[1][j-1]);
val = Math.min(val,temp);
}
dp[2][i] = val;
}
for(int i=1;i<=n;i++){
int val = Integer.MAX_VALUE;
for(int j=1;j<=i;j++){
int temp = 1 + Math.max(dp[3][i-j],dp[2][j-1]);
val = Math.min(val,temp);
}
dp[3][i] = val;
}
System.out.println(dp[3][n]);
}
}
十
题目描述
代码
package lan3;
import java.util.Scanner;
public class demo10 {
private static final int A=1000000007;
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int K=in.nextInt();
int L=in.nextInt();
int sum=0;
int dp[][]=new int[101][101];
for(int i=0;i<K;i++)
{
dp[1][i]=1;
}
for(int i=2;i<=L;i++)
{
for(int j=0;j<K;j++)
{
for(int m=0;m<K;m++)
{
if(Math.abs(m-j)!=1){
dp[i][j]=(dp[i][j]%A+dp[i-1][m]%A)%A;
}
}
}
}
for(int i=1;i<K;i++)
{
sum=(dp[L][i]%A+sum%A)%A;
}
System.out.println(sum);
}
}
最后
以上就是年轻龙猫为你收集整理的蓝桥杯:java【思特奇杯·云上蓝桥-算法集训营】第3周一题目描述代码 二题目描述 代码 三题目描述 代码 四题目描述 代码 五题目描述 代码 六题目描述 代码七题目描述 代码(部分用例通过)八题目描述 代码 九题目描述 代码十题目描述 代码的全部内容,希望文章能够帮你解决蓝桥杯:java【思特奇杯·云上蓝桥-算法集训营】第3周一题目描述代码 二题目描述 代码 三题目描述 代码 四题目描述 代码 五题目描述 代码 六题目描述 代码七题目描述 代码(部分用例通过)八题目描述 代码 九题目描述 代码十题目描述 代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复