阿里测试笔试题-砌墙问题
来源:互联网 发布:有什么折扣软件 编辑:程序博客网 时间:2024/05/22 02:00
代码:
思路:将每一竖列的空隙数进行计算,得出最大值。在有空隙的地方加1,即可得到0~4共5列空隙的数,存放在num[]里。
import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main2 {/** 请完成下面这个函数,实现题目要求的功能 **//** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^ **/static int leastBricks(List<List<Integer>> wall) {int n = wall.get(0).size();int sum = 0;for (int i = 0; i < n; i++) {sum += wall.get(0).get(i);}int[] num = new int[sum - 1];for (int j = 0; j < wall.size(); j++) {int temp = 0;for (int i = 0; i < wall.get(j).size() - 1; i++) {temp += wall.get(j).get(i);num[temp - 1] += 1;}}int result = Integer.MIN_VALUE;for (int i = 0; i < sum - 1; i++) {if (num[i] > result)result = num[i];}return wall.size() - result;}public static void main(String[] args) {List<List<Integer>> vecvecRes = new ArrayList<List<Integer>>();List<Integer> list = new ArrayList<Integer>();Scanner in = new Scanner(System.in);int res = -1;int row = 0;row = Integer.parseInt(in.nextLine().trim());int i = 0;while (i < row) {int a = Integer.parseInt(in.nextLine().trim());if (a == 0) {vecvecRes.add(list);list = new ArrayList<Integer>();i++;} else {list.add(a);}}res = leastBricks(vecvecRes);System.out.print(res);}}
阅读全文
0 0
- 阿里测试笔试题-砌墙问题
- 阿里测试笔试-组队问题
- 阿里笔试题-城堡问题
- 阿里笔试题 仓库均衡问题
- 阿里java笔试题像素处理问题
- 2017阿里笔试题string切片问题
- 阿里测试开发笔试题--字符串相关知识
- leetcode 139 Word Break(阿里测试岗笔试题)
- 阿里云笔试题
- 阿里云笔试题
- 阿里2014笔试题
- 阿里笔试题-选择
- 2015阿里笔试题
- 阿里笔试题
- 阿里的笔试题
- 阿里笔试题
- 阿里笔试题
- 阿里笔试大题
- 新版Dell本本BIOS设置完全手册--U盘装系统bios设置教程
- 2017年迄今最新人工智能资源
- 关于AsyncHttpClient的cz.msebera.android.httpclient.Header
- PHP PDO操作MYSQL
- caioj1065:动态规划入门(一维一边推3:合唱队形)
- 阿里测试笔试题-砌墙问题
- 一、安装Redis 1、到官网下载redis最新版本,我下载的是3.0.3 http://redis.io/ 2、拷贝redis-3.0.3到/usr/local目录 3、解压缩sudo ta
- 一年总结
- const常量与define宏定义的区别
- win7上安装GPU进行tensorflow训练
- laravel中分页带参数
- ViewStub的使用
- C# 使用配置文件App.config配置ftp地址。
- 初识c#---循环结构