在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";
    }
} 
在n个数字中求为k的和————Java的更多相关文章
- 剑指Offer:面试题15——链表中倒数第k个结点(java实现)
		
问题描述 输入一个链表,输出该链表中倒数第k个结点.(尾结点是倒数第一个) 结点定义如下: public class ListNode { int val; ListNode next = null; ...
 - 链表中倒数第k个节点(Java)
		
链表中倒数第k个节点 题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路:two-pointers思想,因为是单链表,没法得prevous点,直接遍历得到链表长度再重新遍历效率很低. 采用双指 ...
 - 14.链表中倒数第k个结点 Java
		
题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路 快指针和慢指针,快指针先跑K个单位然后慢指针开始跑,快指针跑到最后一个节点的时候慢指针对应的就是链表中倒数第k个结点 public stat ...
 - [LeetCode] Kth Largest Element in a Stream 数据流中的第K大的元素
		
Design a class to find the kth largest element in a stream. Note that it is the kth largest element ...
 - 堆实战(动态数据流求top k大元素,动态数据流求中位数)
		
动态数据集合中求top k大元素 第1大,第2大 ...第k大 k是这群体里最小的 所以要建立个小顶堆 只需要维护一个大小为k的小顶堆 即可 当来的元素(newCome)> 堆顶元素(small ...
 - 面试题:m个长度为n的ordered array,求top k 个 数字
		
package com.sinaWeibo.interview; import java.util.Comparator; import java.util.Iterator; import java ...
 - 区间求小于等于k的数字个数 hdu4177
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4417 题目意思给出一个序列,叫我们求一个区间里面小于等于k的数字个数. 这里面我用分块和主席树两种方法 ...
 - 给定随机数列求第k大的数字
		
原来STL我还是有很多不知道的地方 STL 采用的算法是: 当数组长度 <= 3时, 采用插入排序. 当长度 > 3时, 采用快排 Partition 的思想,也就是说类似快速排序(这里不 ...
 - 求一个数组中最小的K个数
		
方法1:先对数组进行排序,然后遍历前K个数,此时时间复杂度为O(nlgn); 方法2:维护一个容量为K的最大堆(<算法导论>第6章),然后从第K+1个元素开始遍历,和堆中的最大元素比较,如 ...
 
随机推荐
- MySQL中链接查询inner join与left join使用
			
连接查询其实就是对两个表记录做笛卡尔乘积.如果不指定连接条件的话,则会对每行都做笛卡尔乘积,这样最后返回的结果树就会是两个表记录数的乘积:如果指定则,则仅对符合列条件的行进行笛卡尔乘积,并返回结果.在 ...
 - 阿里云安装mysql后查看不到初始密码的解决办法
			
在阿里云安装mysql后用grep 'A temporary password' /var/log/mysqld.log命令查看MySQL初始密码,毛线都没有看到,然后直接到/var/log/mysq ...
 - 云栖大会day1 下午
			
下午参与的是创新创业专场 会议议程是 创新创业专场-2018阿里云创新中心年度盛典 13:30-14:10 阿里双创新征程 李中雨 阿里云创业孵化事业部总经理 14:10-14:40 人货场的渗透与重 ...
 - List 去重
			
private static List removeDuplicate(List list) { HashSet h = new HashSet(list); list.clear(); list.a ...
 - 尚硅谷springboot学习35-启动原理
			
先列出几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListen ...
 - jQuery中删除方法empty(),remove()和detach()的区别
			
empty():清空匹配的元素集合中所有的子节点,自身节点和事件都未被删除. remove():这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素.但除了这个元素本身 ...
 - [原创] debian 9.3 搭建seafile企业私有网盘
			
[原创] debian 9.3 搭建seafile企业私有网盘 需求是这样的, 个人疲惫于 "成为大伙的文件中转站" ,公司不管大大小小的文件,都要打电话过来“转个xx文件”.“帮 ...
 - maven的pom.xml文件详解
			
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
 - Spring 初学笔记
			
Spring 初学笔记: https://blog.csdn.net/weixin_35909255/article/category/7470388
 - pandas,读取或存储DataFrames的数据到mysql中
			
dataFrames格式的数据是表格形式的,mysql数据库中的数据也是表格形式的,二者可以很方便的读取存储 安装依赖的包 pip install pandas pip install sqlal ...