Description

牛客网 2018校招真题 K的倍数

Solving Ideas

sum[i + 1]: 表示序列p[0]...p[i]的和
从长度最大的子串开始判断,当剩余需要判断子串长度不可能大于已得最优解时,终止循环。

Solution

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;/*** @author wylu*/
public class Main {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());int[] p = new int[n];String[] strs = br.readLine().split(" ");for (int i = 0; i < n; i++) {p[i] = Integer.parseInt(strs[i]);}int k = Integer.parseInt(br.readLine());//sum[i + 1]: 序列p[0]...p[i]的和long[] sum = new long[n + 1];for (int i = 0; i < n; i++) sum[i + 1] = sum[i] + p[i];int res = 0;for (int i = n; i >= 1; i--) {for (int j = 0; j < i; j++) {if ((sum[i] - sum[j]) % k == 0) {res = Math.max(res, i - j);break;}}if (res >= i - 1) break;}System.out.println(res);}
}

牛客网 2018校招真题 美团点评 K的倍数相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 牛客网 2018校招真题 招商银行信用卡 整数成绩最大化

    Description 牛客网 2018校招真题 整数成绩最大化 Solving Ideas 当n>4时,最大受益为尽可能拆分出更多的数字3,最后一个不足3的,若其为1则分给其中一个3,得到4, ...

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

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

最新文章

  1. css改变背景透明度
  2. 如何限制用户的内存使用量
  3. 在windows下执行./configure,make,makeinstall源码安装程序spice-gtk
  4. Python多级菜单
  5. LeetCode每日一题:存在重复元素(No.217)
  6. selenium ruby和java_针对Ruby的Selenium WebDriver安装指南
  7. python中plt定义,对Python中plt的画图函数详解
  8. Bootstrap框架常用总结
  9. springsecurity登出的配置信息以及登出的认证效果
  10. BZOJ 4030: [HEOI2015]小L的白日梦
  11. Groovy(一)安装和基础环境配置
  12. itools苹果录屏大师_iTools Pro 1.8.0.4 简单易用的苹果设备 iPhone/iPad 管理工具
  13. 测试图片真假软件,如何找出照片的PS痕迹__如何检测一张图片是否被PS过_飞翔教程...
  14. Android8.0.0的BUG Only fullscreen opaque activities can request orientation
  15. 笔记本电脑桌面的计算机图标不见了,笔记本电脑桌面显示没了怎么办呢
  16. Tortoise 没有显示绿色图标
  17. 如何防范计算机安全,计算机安全风险及防范措施
  18. 从单一服务到多元化服务,智能机器人JIMI的架构改造及逐步开放的过程
  19. 简单分析多个京东快递物流中含有多次派送的单号
  20. python多进程多线程,多个程序同时运行

热门文章

  1. 芋道 Spring Boot JPA 入门(一)之快速入门
  2. 分享50个漂亮的设计师个人作品集网站案例
  3. 互联网下半场的网络效应
  4. oracle费用类物料采购,ebs费用化物料设置
  5. win7修改计算机主机名称,Windows7旗舰版计算机名称无法修改解决方法
  6. 谈谈一些有趣的CSS题目(九)-- 巧妙的实现 CSS 斜线
  7. LCD1602的解读(详细步骤分析)
  8. M1卡的简介与操作命令
  9. Python中变量的基本使用
  10. 考研复试(控制工程专硕)及大学本科(物联网工程)知识点回顾(一)——C语言/单片机