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#技术类面试、笔试题汇总
技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...
随机推荐
- 基于TCP协议的socket套接字编程
目录 一.什么是Scoket 二.套接字发展史及分类 2.1 基于文件类型的套接字家族 2.2 基于网络类型的套接字家族 三.套接字工作流程 3.1 服务端套接字函数 3.2 客户端套接字函数 3.3 ...
- 11-Django站点管理
站点管理 内容发布的部分由网站的管理员负责,包括查看.添加.修改.删除数据 开发这些重复的功能是一件单调乏味.缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块 在Django ...
- C++值类别, move, perfect forward
推荐看链接顺序看,第一个链接很好地讲述了值类别地特性,图形很好理解.第二个链接介绍常见值类别的示例,帮助熟悉.第三个链接是第二个链接的补充,让你理解为什么需要std::move以及perfect fo ...
- Oracle基础教程(一)
本文链接:https://blog.csdn.net/GoldenKitten/article/details/84947386 以下内容为转载以上博客,自己做了略微的补充,如需查看原文,请点击上面的 ...
- Python Turtle绘画初学编程——六芒星,浪形圈
老师上课说可以自学一下python中的绘图turtle,就自己初步学习了一下,做了两个简单的绘图——六芒星和浪形圈(其实我也不知道该叫它什么,就照样子编了个词
- 获取给定地址中的域名,substring()截取
package seday01;/** * 获取给定地址中的域名 * @author xingsir */public class Test { public static void main(Str ...
- 通过重复运行的Microsoft Flow由OAuth认证后获取Access Token并将其更新到实体记录
我是微软Dynamcis 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- ABP进阶教程10 - PDF导出中文乱码
点这里进入ABP进阶教程目录 问题描述 功能按钮 - 导出PDF,中文信息导出为乱码. 解决方案 导出PDF是通过pdfmake.js实现的. 检查发现是pdfmake引用的vfs_fonts.js字 ...
- [b0005] Linux 系统常用操作命令
1 Ubuntu 解压 hadoop@ssmaster:~$ -bin-hadoop2..tgz 联网安装程序包 sudo apt-get install php
- 使用Spring访问Mongodb的方法大全——Spring Data MongoDB
1.概述 Spring Data MongoDB 是Spring框架访问mongodb的神器,借助它可以非常方便的读写mongo库.本文介绍使用Spring Data MongoDB来访问mongod ...