Description

牛客网 2018校招真题 整数成绩最大化

Solving Ideas

当n>4时,最大受益为尽可能拆分出更多的数字3,最后一个不足3的,若其为1则分给其中一个3,得到4,若其为2则乘上去。

为什么不是最大收益不是4以上呢?
例如5,5可分解为2*3,收益能通过继续分解得到增加。

Time complexity : O ( l o g n ) O(logn) O(logn)
Space complexity : O ( 1 ) O(1) O(1)

Solution

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;/*** @author wylu*/
public class Main {static int[] products = {0, 0, 1, 2, 4};public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());int res;if (n > 4) {int p = n / 3, q = n % 3;if (q == 0) res = (int) Math.pow(3, p);else if (q == 1) res = (int) (Math.pow(3, p - 1) * 4);else res = (int) (Math.pow(3, p) * 2);} else {res = products[n];}System.out.println(res);}
}

牛客网 2018校招真题 招商银行信用卡 整数成绩最大化相关推荐

  1. 牛客网 2018校招真题 美团点评 K的倍数

    Description 牛客网 2018校招真题 K的倍数 Solving Ideas sum[i + 1]: 表示序列p[0]...p[i]的和 从长度最大的子串开始判断,当剩余需要判断子串长度不可 ...

  2. 牛客网 2018校招真题 摩拜 排序次数

    Description 牛客网 2018校招真题 排序次数 Solving Ideas 将数组a的元素拷贝到数组b 对数组b进行排序 对比数组b,统计数组a中已排序的元素个数 如:a = [2, 11 ...

  3. 牛客网 2018校招真题 滴滴出行 寻找丑数

    Description 牛客网 2018校招真题 寻找丑数 Solving Ideas 参考<剑指offer>丑数 Time complexity : O(n)O(n)O(n) Space ...

  4. 牛客网 2018校招真题 爱奇艺 最后一位

    Description 牛客网 2018校招真题 最后一位 Solving Ideas 二分查找 Solution import java.io.BufferedReader; import java ...

  5. 牛客网 2018校招真题 京东 回文

    Description 牛客网 2018校招真题 回文 Solving Ideas 计算以str[str.length() - 1]为结尾的最大的回文长度,从而判断最少需要追加多少个字母才能使整个串成 ...

  6. 牛客网 2018校招真题 美团点评 关灯游戏

    Description 牛客网 2018校招真题 关灯游戏 Solving Ideas 只与最右边的数字有关,如果最右边的数字为1,则Alice赢,否则Bob赢 假设最右边的数字为1 因为Alice是 ...

  7. 牛客网 2018校招真题 网易 骰子游戏

    Description 牛客网 2018校招真题 骰子游戏 Solving Ideas 参考<剑指offer>n个骰子的点数 考虑用两个数组来存储骰子点数的每一个总数出现的次数. 在一次循 ...

  8. 牛客网 2018校招真题 美团点评 重要节点

    Description 牛客网 2018校招真题 重要节点 Solving Ideas BFS 创建一个标记数组arrive,arrive[i][j]为true表示从i可以到达j, false则不能 ...

  9. 牛客网——2017校招真题在线编程(pythonC++)

    牛客网--2017校招真题在线编程(python&C++) 1.n个数里的最小k个 题目描述 找出n个数里最小的k个 输入描述: 每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n ...

最新文章

  1. 设置居中_微信设置个性签名居中,超简单!
  2. Madgwick算法详细解读
  3. activex java 控件_java 如何调用ActiveX控件??
  4. python设置window系统ip
  5. bzoj 1676: [Usaco2005 Feb]Feed Accounting 饲料计算(差分)
  6. malloc函数用法
  7. 融媒体需要什么计算机软件,融媒体时代对编辑的能力要求
  8. axure element ui素材_web元件库 ElementUI元件库+后台模板页面+官网组件 pc元件库(兼容Axure9)...
  9. C语言Dialogbox添加图片,c# dll c 类_dialogboxparam_msg结构
  10. 解决Linux内核问题实用技巧之-dev/mem的新玩法
  11. MIMO基本技术原理
  12. python的编码 encode
  13. 面试——HR问你的职业规划,应该怎样回答?
  14. 微信公众平台开发解惑
  15. 前端 vue + element + vux
  16. B站JavaScript从入门到精通智能社Blue石川老师视频部分代码_幻灯片
  17. Mininet系列实验(七):Mininet脚本实现控制交换机行为
  18. 【网络】正向代理和反向代理
  19. 游戏设计艺术(第3版) The Art of Game Design 看评论
  20. php 实现每日持续签到,累计签到,送积分

热门文章

  1. python合并字符串数组_P036 合并字符串数组 ★★
  2. onvif server端集成到BOA服务器后不定时出现closewait问题
  3. (学习日记)2023.4.12
  4. zhangrelay老师的cozmo相关博客整理
  5. 什么样的是人才----创造价值就是人才
  6. Android P 9 实现静默安装静默卸载
  7. also的位置情况总结(基于材料:“老托福听力93篇”)
  8. mysql怎么确定日期是星期_关于mysql:从日期选择星期几
  9. 2022年最新安徽机动车签字授权人模拟试题及答案
  10. Tomcat8 安装drools7.11