01背包简单题,只不过要用Java写,写了比较久一点

import java.util.Scanner;
public class Main {public static void main(String[] args) throws Exception {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();int score[] = new int[num];int time[] = new int[num];for (int i = 0; i < num; i++) {score[i] = scanner.nextInt();}for (int i = 0; i < num; i++) {time[i] = scanner.nextInt();}int totalTime = scanner.nextInt();System.out.println(getScore(score, time, totalTime, num));}public static int getScore(int score[], int time[], int totalTime, int size) {int num[] = new int[totalTime + 10];for (int a = 0; a < size; a++)for (int b = totalTime; b - time[a] >= 0; b--)num[b] = Math.max(num[b], num[b - time[a]] + score[a]);return num[totalTime];}
}

输入:

4
9 7 5 3
10 8 5 2

典型的贪心算法,可以参考田忌赛马

import java.util.Scanner;
import java.util.Arrays;
public class Main {public static void main(String[] arg) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int[] teamA = new int[n];int[] teamB = new int[n];for (int i = 0; i < n; i++) {teamA[i] = scanner.nextInt();}for (int i = 0; i < n; i++) {teamB[i] = scanner.nextInt();}System.out.println(getMostBonus(n, teamA, teamB));}public static int getMostBonus(int n, int teamA[], int teamB[]) {Arrays.sort(teamA);Arrays.sort(teamB);int n1 = 0, n2 = 0, l1 = n - 1, l2 = n - 1, j1 = 0, j2 = 0;for (int a = 0; a < n; a++) {if (teamA[n1] > teamB[n2]) {n1++;n2++;j1++;}else if (teamA[n1] < teamB[n2]) {j2++;n1++;l2--;}else {if (teamA[l1] > teamB[l2]) {j1++;l1--;l2--;}else if (teamA[n1] < teamB[l2]) {j2++;n1++;l2--;}elsebreak;}}return j1 * 100 - j2 * 100;}
}

2018 完美世界校招笔试编程题(Java)相关推荐

  1. 魔法币 java_网易2018校招笔试编程题-魔法币 java实现

    魔法币 原题 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币. 魔法机器1:如果投 ...

  2. 经典笔试编程题--Java实现

    转载自  经典笔试编程题--Java实现 1.输入一个正数n,输出所有和为n的连续正数序列.  分析:设定两个指针,min指向和为n的连续正数序列的最小值,max指向和为n的连续正数序列最大值.sum ...

  3. 华为2020校招笔试编程题 看这篇就够了(上)

    背景 近日一位在华为的师兄整理了一份内部的提纲给我们,想着以后肯定不会去华为,于是乎分享给大家,看看菊花厂今年的笔试题目是什么样子的. 编程题范围 这好像来自一个华为内部的文档,据说今年华为内部也在进 ...

  4. 奇安信2021年校招笔试编程题

    < 2020年9月12日奇安信笔试编程第一题 > <java实现获取数组中的连续子数组> 1. 题目信息 2. 参数要求 3. 解题思路 该题获取糖果可以分解为两个部分: (1 ...

  5. 搜狗2016年校招笔试编程题记录+总结

    不同的职位题目应该不一样,我遇到的2道题,其一是搜狗问答中的作弊判断,其二是矩阵计算. 1. 搜狗问答作弊判断 简单来说,就是存在作弊刷积分的情况,所以需要判断哪些人作弊,判断遵循下面2个原则: (A ...

  6. 2020秋招——XX校招笔试编程题:回文串

    回文串判断&打印给定字符串中的所有回文串 笔试时是纸质的,记错了indexOf()函数和charAt()函数,重大失误emmm,这样逻辑虽然都对了还是要gg,ww,反省中... 回文串:aba ...

  7. 网易2020校招笔试编程题回顾

    把今天的记忆里面的笔试题的情况梳理一下,投递的是算法工程师: 题型总共分为选择题10*1  编程题10.20.20.30  问答题5*2 编程题: 1.倒数排序:给你一个数n,以及1-n的一个排列,让 ...

  8. 京东校招java笔试题_2017京东校招笔试编程题:进制转换、辗转相除

    题目描述 时间限制:C/C++语言 1000MS 其他语言:3000MS 内存限制:C/C++语言 65536KB 其他语言:589824KB 题目内容:尽管是一个CS专业的学生,小B的数学基础很好并 ...

  9. ## (网易2018校招笔试)[编程题] 游历魔法王国

    题目 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次. 如果小易到 ...

最新文章

  1. 如何匹配包含特定字符串的属性?
  2. 【控制】四旋翼无人机姿态角分析
  3. SAP固定资产期初导入检查
  4. 区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程
  5. 温州大学《深度学习》课程课件(九、目标检测)
  6. 3.1.11 OS之段页式存储管理(段表、页表、地址转换、)
  7. JAVA实现WC.exe功能
  8. 阿里云物联网MQTT三元数生成
  9. 在实际项目中使用LiteDB NoSQL数据库
  10. please reinstall the mysql distribution_php安装扩展mysqli的实现步骤及报错解决办法
  11. oracle11g的用户名是什么,oracle11g默认用户名和密码
  12. webmin安装_如何在Ubuntu 18.04上安装Webmin
  13. DateFormat与SimpleDateFormat区别和使用详解
  14. Ubuntu屏幕分辨率设置
  15. 【软技能】完全写作指南--个人博客
  16. 关于金融行业网络安全解决方案,您了解多少?
  17. 计算机双硬盘如何设置,电脑固态硬盘+机械硬盘双盘齐下的安装方法-双硬盘设置...
  18. 计算机替换的快捷键,Autointo Hotkey Changer电脑快捷键替换工具
  19. 新个人所得税计算公式
  20. Java线程死锁模拟

热门文章

  1. illumina的barcode居然有那么多类型
  2. 魅蓝和vivo怎么打开开发者选项或者打开usb调试(设置~关于本机~连续点击7次版本)
  3. 详解经典旋转目标检测算法RoI Transformer
  4. 互联网快讯:科大讯飞回应裁员传闻;极米Z6X Pro、极米H3S出色音画获好评;中国海油正式成立新能源分公司
  5. php px,px什么意思
  6. 如何访问IE历史记录
  7. js 批量移除steam游戏 移除用户凭证中免费获取的物品
  8. 程序员必读书单(转载)
  9. Linux小知识--原始套接字(raw socket)之模拟ping
  10. node.js毕业设计基于微信小程序点餐与结账系统LW(源码+程序+LW+部署)