滴滴2017校招算法工程师笔试题--吃饭问题
2016-09-07 14:49
423 查看
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);while (scan.hasNext()) {int n = scan.nextInt();int m = scan.nextInt();ArrayList<Integer> desk = new ArrayList<Integer>();for (int i = 0; i < n; i++) {desk.add(scan.nextInt());}Collections.sort(desk);ArrayList<Group> customer = new ArrayList<Group>();for (int i = 0; i < m; i++) {Group tem = new Group();tem.setN(scan.nextInt());tem.setC(scan.nextInt());customer.add(tem);}Collections.sort(customer, new Comp().comparator);int res = 0;for(int i = 0; i < m; i++){int loc = n;if( desk.isEmpty()){break;}for(int j = desk.size()-1; j >= 0; j--){if( desk.get(j) < customer.get(i).num){break;}else{loc = j;}}if( loc != n){res += customer.get(i).cost;// System.out.println(i+ " " + customer.get(i).cost + "......" + loc);desk.remove(loc);}}System.out.println(res);}scan.close();}}class Group {int num;int cost;public void setN(int n) {this.num = n;}public void setC(int c) {this.cost = c;}}class Comp{Comparator<Group> comparator = new Comparator<Group>(){public int compare(Group g1,Group g2){if( g1.cost < g2.cost){return 1;}else if( g1.cost > g2.cost){return -1;}else{return 0;}}};}
相关文章推荐
- 名企笔试:58同城2016研发工程师笔试题(算法问题)
- 名企笔试:京东算法工程师笔试题(排序问题)
- 名企笔试:蘑菇街2017校招笔试题(修理桌子问题)2017-03-09 算法爱好者
- 2016阿里校招算法工程师笔试
- 美团点评2017校招笔试真题-算法工程师A
- 算法编程题积累(1)——网易笔试"工程师工作安排“问题
- DDCX2018届校招内推笔试——算法工程师
- 爱奇艺2017校招-Java开发-在线算法笔试题-NIM博弈问题,牛牛羊羊吃草
- [置顶] 2014各大网络公司校招笔试算法题(收集并更新中)
- 2012 360校招技术类--------算法设计 传教士过河问题(欢迎各位大牛赐教)
- 2013 阿里巴巴集团校招笔试 算法题
- 阿里巴巴 算法、数据工程师笔试题选解
- [置顶] 2014各大网络公司校招笔试算法题(收集并更新中)
- 百度2014校园招聘笔试题 ——深度学习算法研发工程师.
- 5位哲学家吃饭问题(算法描述)
- 百度笔试——计算机视觉算法研发工程师
- 20131013百度北京深度学习算法研发工程师笔试题
- 百度2014校招笔试题目题解(更新了第1题的算法,10.9下午)
- 百度2014校招笔试题目题解(更新了第1题的算法,10.9下午)
- 格子取数问题 2013年搜狗的校招笔试题 专业程序代写