我是靠谱客的博主 年轻龙猫,最近开发中收集的这篇文章主要介绍蓝桥杯: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周一题目描述代码 二题目描述 代码 三题目描述 代码 四题目描述 代码 五题目描述 代码 六题目描述 代码七题目描述 代码(部分用例通过)八题目描述 代码 九题目描述 代码十题目描述  代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部