58同城笔试题:数组去重;分饼干(分糖果);最小路径和(leetcode64)
1. 数组去重
题目描述
/**
* 有序数组去重
* 输出最终的数字个数
* 输入:1,2,2
* 输出:2
* @author Turing
*
*/
代码
import java.util.*;
public class E {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] str = sc.nextLine().split(",");
int len = str.length;
int [] array = new int[len];
for (int i = 0; i < len; i++) {
array[i] = Integer.valueOf(str[i]);
}
int index = 1;
for (int i = 0; i < len-1; i++) {
if(array[i]!=array[i+1]){
array[index] = array[i+1];
index++;
}
}
System.out.println(index);
}
}
2. 分饼干(分糖果)
题目描述
/**
* 分糖果问题类似
* 分饼干问题,每个孩子至少一个饼干,
* 如果两个孩子坐一起,评分高的孩子必须得到更多的饼干(左右都比较)
* 输出老师购买饼干总数的最小值
* 输入:
6
3
6
3
5
6
2
* 输出:
10
* 说明:第一个数表示孩子数为6;1+2+1+2+3+1=10
*/
代码
import java.util.*;
public class E4 {
public static int m;
public static int n;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
int[] score = new int[n];
int[] count = new int[n];
for (int i = 0; i < n; i++) {
score[i] = sc.nextInt(); }
Arrays.fill(count, 1);
for(int i=1; i<n; i++){
if (score[i]>score[i-1]) {
count[i]=count[i-1]+1;
}
}
for(int i=n-2; i>=0; i--){
if (score[i]>score[i+1] && count[i]<=count[i+1]) {
count[i]=Math.max(count[i], count[i+1]+1);
}
}
int sum = 0; for (int i = 0; i < count.length; i++) {
sum += count[i];
}
System.out.println(sum); }
}
3. 最小路径和(leetcode64)
题目描述
/**
* 有一个地图,围棋棋盘,两点之间有行走距离起点为左上角,终点为右下角在地图上,
* 每次行走只能沿线移动到移动的临近的点
* 并累加路径计算一个人从地图的起点走到终点的最小路径为多少?
* 输入:
* m*n地图表示如下:
* 3
* 3
* 1 3 4
* 2 1 2
* 4 3 1
* 其中 m=3,n=3表示3*3矩阵
* 行走路径为: 下》右》右》下
* 路径总长:1+2+1+2+1=7
*
* @author Turing
*
*/
代码
import java.util.*;
public class E4 {
public static int m;
public static int n;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
m = sc.nextInt();
n = sc.nextInt();
int [][] grid = new int[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
grid[i][j] = sc.nextInt();
}
}
System.out.println(minpath(grid, 0, 0));
}
public static int minpath(int[][]grid, int i,int j){
if(i==m||j==n){
return Integer.MAX_VALUE;
}
if(i==m-1&&j==n-1){
return grid[i][j];
}
return grid[i][j]+Math.min(minpath(grid, i+1, j), minpath(grid, i, j+1));
}
}
58同城笔试题:数组去重;分饼干(分糖果);最小路径和(leetcode64)的更多相关文章
- 100 道 Linux 笔试题,能拿 80 分就算大神!
本套笔试题共100题,每题1分,共100分.(参考答案在文章末尾) 1. cron 后台常驻程序 (daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统C. 跟踪管理系统信息和错 ...
- 推荐收藏:100道Linux笔试题,能拿90分以上的都去了BAT
本套笔试题共100题,每题1分,共100分.(参考答案在文章末尾) 1. cron 后台常驻程序 (daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统 C. 跟踪管理系统信息和 ...
- js面试题-数组去重
今天,在聊天群里看到数组去重的话题,面试者的答案如下: 参考答案如下: 程序员思维,做出如下测试: 未考虑到:1,‘1’是不同的,应该不去重 未考虑到对象 所以,参考答案只能去重基础类型 根据以往看过 ...
- 2019 58同城java面试笔试题 (含面试题解析)
本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.58同城等公司offer,岗位是Java后端开发,最终选择去了58同城. 面试了很多家公司,感觉大部分公司考察的点 ...
- js面试题之数组去重对比
最近看一些面试题,很多都提到了数组去重,用的最多的不外乎就是下面这个例子 arr.filter(function(value,index,arr){ return arr.indexOf(value, ...
- 也许你需要点实用的-Web前端笔试题
之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...
- C/C++ 笔试题
/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...
- Web前端面试笔试题总结
最近一段时间要毕业了,忙着找工作,见过不少笔试面试题,自己总结了一些加上网上找的一些整合了一下.答案暂时都东拼西凑出来了,但是还是先不发出来,一方面是答案并不是唯一的并且自己的答案不能保证对,另一方面 ...
- 收藏所用C#技术类面试、笔试题汇总
技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...
随机推荐
- matlab中的colormap
matlab colormaps 默认颜色图是 parula ,颜色图从左往右数值不断增大. 颜色图名称 色阶 parula jet hsv hot cool spring summer autumn ...
- 如何使用pm2一键部署node应用
准备工作 准备一台linux服务器(本文档以阿里centos为例) 安装nodejs.git.pm2等环境 项目代码 本地已经安装用于连接 Linux 实例的工具,如 Xshell 基本流程 前两步传 ...
- 前端之javascript1
js介绍和js引入页面 学习前端脚本语言javascript的基本概念.页面引入方式.获取页面元素及操作元素属性的技巧,学习函数的基本定义方法和使用方法. JavaScript介绍 JavaScrip ...
- Hive表导出成csv文件
命令 hive -e " set hive.cli.print.header=true; #将表头输出 select * from data_table where some_query_c ...
- java基础(32):类加载、反射
1. 类加载器 1.1 类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载 就是指将class文件读入内存,并为之创建一个C ...
- 2019年上半年收集到的人工智能AutoML干货文章
2019年上半年收集到的人工智能AutoML干货文章 自动机器学习简述(AutoML) 谷歌将AutoML应用于Transformer架构,翻译结果飙升,已开源 IBM推出AutoAI,让企业人工智能 ...
- Dynamics 365中计算字段与Now进行计算实体导入报错:You can't use Now(), which is of type DateTime, with the current function.
微软动态CRM专家罗勇 ,回复338或者20190521可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me. 计算字段是从Dynamics CRM 2015 SP1版本开始推 ...
- 如何突破DNS报文的512字节限制
- DNS的512字节限制 根据协议标准,DNS协议同时占用UDP和TCP的53端口,这是为什么呢? 翻阅DNS资料,可以发现,DNS协议默认按UDP传输,为优化传输性能,DNS协议有一个512字节的 ...
- 【转载】Gradle for Android 第五篇( 多模块构建 )
Android studio不仅允许你为你的app和依赖库创建模块,同时也可为Android wear,Android TV,Google App Engine等创建模块,而这些单独的模块又可以在一个 ...
- 【LeetCode】198. 打家劫舍
打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定 ...