• 网易笔试(20210327)吉利数(子数组中数组和为6的倍数的最大子数组和)


    三、求一个数组中子数组所有数之和最大,且为6的倍数的数组的最大和

    (数字1-10000)

    (数组长度0-100000)

    输入:

    [1 2 3 4 5 6]

    6

    输出:

    18

    import java.util.Scanner;
    
    public class Wangyi_exam3 {
        /**
         * 最多一万个数的数组,找出其中子数组中和最大的子数组的和,且该和为6的整数倍
         * 输入 1 2 3 4 5 6 7
         *     7
          */
    
        public static void main(String[] args) {
    //        Scanner scanner = new Scanner(System.in);
    //        String str1 = scanner.nextLine();
    //        int n = Integer.parseInt(scanner.nextLine());
            String str1 = "5 5 5 5 4 2 7 7 7";
            int n = 9;
            String[] strs = str1.split(" ");
    
            int[] nums = new int[n];
            int sum = 0;
            for (int i = 0; i < n; i++) {
                nums[i] = Integer.parseInt(strs[i]);
                sum+=nums[i];
            }
    
            // 假设和的情况有n种,不超过1000万sum
            // dp[i] = 1表示和为i存在。 为0不存在。
            int[] dp = new int[n*10000];
            dp[0] = 1;
            dp[sum] = 1;
            for(int i=0; i<n; i++){
                // 单个的分数置为1
                dp[nums[i]] = 1;
                for(int j=0; j<=sum; j++){
                    // 总和为j若是存在,用总和减去当前值的和也可以满足。例如:5 5 5 总和15,第一层循环dp[15]=1 dp[5]=1所以15-5>0,所以 dp[10]=1
    
                    if(dp[j]==1 && j-nums[i]>=0){
                        dp[j-nums[i]] = 1;
                    }
                }
            }
            for(int i=sum; i>=0; i--){
                if(dp[i]==1 && i>=6 && i%6==0){
                    System.out.println(i);
                    break;
                }
                if(i<6){
                    System.out.println(0);
                }
            }
    
        }
    }
  • 相关阅读:
    Linux 笔记 —— SVN和FTP的安装
    在.NET中使用Javascript作为脚本语言(v8最新版)
    回调的经典应用
    Javascript.NET(V8Wrapper) 更新,自定义映射别名
    SQLServer 的视图自带缓存特效?!
    关于 Twing Hot Link 的一些事
    Twing Hot Link For PSP 开发笔记(1)
    新闻发布系统
    Spring MVC入门讲解
    f(f(x))=x, 纯数学理解
  • 原文地址:https://www.cnblogs.com/wsZzz1997/p/14588383.html
Copyright © 2020-2023  润新知