题目:
圆桌上放了一圈红包形成环形,每个红包金额不同,围绕圆桌走一圈选择若干红包,规则是不能拿相邻的红包,请问拿到红包最多的总金额是多少?

输入:
红包个数N
N行数组表示N个红包

输出:
最多的总金额

样例输入:
2
1,2
1,3,4

样例输出:
2
4

代码:

import java.util.Scanner;public class Test{private static int func(int[] arr, int lo, int hi){int include = 0, exclude = 0;for(int j = lo; j <= hi; j++){int i = include, e = exclude;include = e + arr[j];exclude = Math.max(i, e);}return Math.max(include, exclude);}public static int redBag(int[] arr){if(arr.length == 1) return arr[0];return Math.max(func(arr, 0, arr.length - 2), func(arr, 1, arr.length - 1));}public static void main(String args[]){Scanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();for(int i = 0; i < n; i++){String s = in.next();String[] ss = s.split(",");int[] arr = new int[ss.length];for(int j = 0; j < ss.length; j++)arr[j] = Integer.parseInt(ss[j]);System.out.println(redBag(arr));}}}
}

代码来源:https://discuss.leetcode.com/topic/14375/simple-ac-solution-in-java-in-o-n-with-explanation

美团点评2017校园招聘编程题--取红包相关推荐

  1. 滴滴2017校园招聘编程题——阶乘末尾0的个数

    1.题目如下图所示: 2.分析:         这个题目描述的很简单,思路看似也很清晰,我们第一想到的肯定就是正常计算和统计--先计算N!阶乘的结果,然后统计结果末尾0的个数.看似这是一个很好的也很 ...

  2. 网易有道2017校园招聘编程题——洗牌

    1. 题目 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程. 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张.首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上 ...

  3. 小米2017校园招聘编程题

    题目: 代码: #include<iostream> #include<vector> #include<map> #include<sstream> ...

  4. 美图2018届校园招聘编程题(AC)

    今天分享一下热乎乎的美图2018届校园招聘编程题的代码实现,详情如下. 首先揭秘一下四天前的智商题: 解答:再倒出一片A,然后把这四颗药片各自一分为二,吃每颗药片的一半,剩下的明天吃即可. 注:(如果 ...

  5. 网易 2019 秋季校园招聘编程题真题集合

    网易 2019 秋季校园招聘编程题真题集合 第一题 俄罗斯方块 问题描述 小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块.因为它比较古老,所以规则和一般的俄罗斯方块不同. 荧幕上一共有 n 列, ...

  6. 网易2018校园招聘编程题

    [编程题] 魔法币 时间限制:1秒 空间限制:32768K 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0) ...

  7. 网易2018校园招聘编程题真题集合 详解

    ##编程题 ###一.魔法币 ####描述: 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入 xxx(xxx 可以为 00 ...

  8. 网易2018校园招聘编程题真题集合

    1/8 [编程题]魔法币 #include<bits/stdc++.h> using namespace std; #define clr(a) memset(a, 0, sizeof(a ...

  9. [2018]试卷: 网易2018校园招聘编程题真题集合

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

最新文章

  1. Understanding SOAP
  2. Windchill的web中的Spring
  3. ZOJ 2334 HDU 1512 Monkey King
  4. 【数学和算法】奇异值分解在【图像压缩】中的应用
  5. 注定不平凡的2020年
  6. html页面取js里面的值,如何在javascript中获取HTML元素的样式值?
  7. java请求并行方案_让 Yar Java Client 支持执行并行请求,ExecutorService 的使用
  8. [見好就收]NET 2.0 - WinForm Control - DataGridView 编程36计
  9. 《菜菜的机器学习sklearn课堂》学习笔记 + 课件
  10. james邮件服务器的用户信息添加
  11. Python-英文小说词频统计
  12. yarn:info There appears to be trouble with your network connection. Retrying...
  13. paip.跨平台跨语言自定义加密方法
  14. html文档含有阿拉伯文,html – iOS中包含自定义字体的阿拉伯文字
  15. 金狐超级软件盘 07.14更新
  16. SDH原理--1.SDH概述
  17. ui sketch_如何在Sketch中设计汽车应用程序设计UI
  18. 微信公众平台开发——新增素材
  19. os.path.abspath() 和 os.path.realpath() 区别
  20. ElasticSearch 高级

热门文章

  1. Win10报错 Windows 找不到文件 “(null)“请确定文件名是否正确后,再试一次。
  2. 径向基神经网络(rbfn)进行函数插值,代码实现
  3. 我的世界服务器配置文件
  4. Java集合底层原理理解
  5. API安全(二):API安全设计原则
  6. 后台接收前端文件图片
  7. 英文字体设计标志需要注意什么?
  8. 基于QT的商场线上购物管理系统之客户端
  9. 红帽8使用nfs共享本地镜像
  10. 转发-【分享】思科无线控制器HA模式升级