今日头条编程之——K-SUM
来源:互联网 发布:远光java面试题 编辑:程序博客网 时间:2024/04/24 03:57
代码:
回朔法:
import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);while(sc.hasNextInt()){int n=sc.nextInt();int m=sc.nextInt();int k=sc.nextInt();List<Node> nodelist=new ArrayList<Node>();for(int i=0;i<k;i++){Node node=new Node(n);for(int j=0;j<n;j++){node.num[j]=sc.nextInt();}nodelist.add(node);}System.out.println(GetCount(nodelist,m,n));}}public static int GetCount(List<Node> nodelist,int m,int count){ int result=0; int k = 0;// Node 下标 int n = nodelist.size();//Node 个数 int[] index = new int[n]; for (int j = 0; j < n; j++) { index[j] = -1; } //这是主要的回朔 int tempsum = 0; while (k >= 0){ index[k]++; if(index[k]<count){ tempsum+=nodelist.get(k).num[index[k]]; if (k == n - 1){ if (tempsum > m){ result++; } tempsum-=nodelist.get(k).num[index[k]]; continue; }else{ k = k + 1; } }else{ index[k] = -1; k=k-1; tempsum=0; } } return result; }}class Node{int[] num;public Node(int n){num=new int[n];}}
0 0
- 今日头条编程之——K-SUM
- 今日头条编程题
- 今日头条——回文编码
- 今日头条——校招在线编程题《字典序》
- 今日头条——校招在线编程题《头条校招》
- 今日头条编程题 专辑问题
- 2017今日头条测试编程题
- 今日头条编程题第二题
- 【算法】今日头条2017编程题
- 最大映射 今日头条编程
- 4.18今日头条编程题
- 今日头条笔试编程题
- 今日头条架构演进之路——高压下的架构演进专题
- Android开发——今日头条APK瘦身之路
- (产品贴)手机常用软件之二—今日头条
- 今日头条架构演进之路
- 新媒体推广之今日头条
- 今日头条面试总结——instanceof原理
- [Leetcode] Find All Numbers Disappeared in an Array
- 企业站点该如何巧妙的布局网站内链
- 欢迎使用CSDN-markdown编辑器
- uml的9种图
- 英语:我还在路上
- 今日头条编程之——K-SUM
- 百度文库怎么操作才能提高成功率方法解析
- Redis GEO 测试
- 如何通过Linux中的Samba工具实现文件共享
- 欢迎使用CSDN-markdown编辑器
- ISP路由表分发中的AS与BGP
- Solr查询参数wt
- 写给小白的网站优化初步全过程
- JVM学习 第1课 解析命令行 打开jvm之门