zoukankan      html  css  js  c++  java
  • 在n个数字中求为k的和————Java

     给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:"YES",否则输出"NO"。用Java实现

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            int num[] = new int[1000];
            int N, K;
            Scanner scanner = new Scanner(System.in);
            N = scanner.nextInt();
            K = scanner.nextInt();
            for (int i = 0; i < N; i++) {
                num[i] = scanner.nextInt();
            }
            System.out.println(judge(num, N, K));
        }
    
        private static String judge(int[] num, int n, int k) {
            int flag = 0; // 用来游标值  如果前面的值大于直接跳过
            while (flag < n && num[flag] != num[n]) {
                int sum = 0;
                int flag_2 = flag;
                // 判断和是否小余k如果和大于直接跳过  加上临界值的判断
                while (sum <= k && num[flag_2] != num[n+1]) {
                    sum += num[flag_2];
                    if (sum == k){
                        return "YES";
                    }
                    flag_2++;
                }
                flag++;
            }
            return "NO";
        }
    } 
  • 相关阅读:
    通用Logging框架设计
    slf4j 与各个 logging框架的适配器说明
    优雅的使用Spring
    Python : 反射
    Python: Tools
    Python : Class
    Python : Module
    Python 入门:基本语法
    docker:版本变更
    Linux: yum配置说明
  • 原文地址:https://www.cnblogs.com/future-dream/p/10694609.html
Copyright © 2011-2022 走看看