拼多多java后台笔试题目总结(20180830)
1、回合攻击问题

package com.hone.pdd; import java.util.Scanner; /**
* 题目:模拟一个游戏场景,两种伤害,一种正常伤害,一种是先蓄力(也算一个回合),在伤害,问:最多需要多少个回合敌人就会打倒?
* 思路:-主要区分bufferedAttach和normalAttach之间的大小,注意是两倍之间的大小区别。
* @author Xia
*
*/
public class Test1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int hp = Integer.parseInt(in.nextLine());
int normalA = Integer.parseInt(in.nextLine());
int bufferedA = Integer.parseInt(in.nextLine());
int step = 0; // 回合数
if (bufferedA > normalA * 2) {
step = hp/bufferedA;
step = step * 2;
//计算利用聚力之后的两个回合的剩余血量
hp = hp - bufferedA * step/2;
//如果剩余血量不等于0,并且剩余血量小于正常操作的消耗血量
if (hp != 0) {
if (hp <= normalA)
step++;
else
step += 2;
}
}else {
step = hp/normalA;
if (hp % normalA != 0 )
step++;
}
System.out.println(step);
}
}
Test2

package com.hone.pdd; import java.util.Scanner; /**
* 利用一个二维数组来模拟整个的棋盘掉落情况。
* @author Xia
*
*/
public class Test2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
char[][] samples = new char[12][12]; //定义一个二维数组来表示棋盘
for (int i = 0; i < n; i++) {
samples[i] = in.next().toCharArray();
} //用一个二重的for循环来控制,但是外层的循环是以列为单位,遍历内部的行单元元素
for (int j = 0; j < m; j++) { //列
for (int i = n-1; i >= 0; i--) { //行
if (samples[i][j] == '.')
continue;
if (samples[i][j] == 'x')
continue;
int k = i;
while (k < n) {
samples[k][j] = '.';
k++;
if (k < n&&samples[k][j]!='.') {
samples[k-1][j] = 'o';
break;
}
}
} } for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
System.out.printf("%c",samples[i][j]);
}
System.out.println();
} }
}
Test3

实际上求得是小数的循环结。
package com.hone.pdd; import java.util.HashMap;
import java.util.Map;
import java.util.Scanner; /**
* 分类:1:可以整除的数
* 2:可以除尽的数(和第一种有重合)
* 3:无限循环小数
* 思路:首先可以在循环的外部做一次除法得到一个余数。
* 其后在for循环中的得到的余数一定是小数点后面的数。
* 利用map来存储小数点之后的数出现的位置。
* 无限循环小数出现的条件(余数出现重复)
* @author Xia
*
*/
public class Test3 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
//用map来存储小数点后面的数,及该数在小数点后面位置。
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
a %= b; //固定把小数点后一位定为0位
for (int i = 0;; i++) {
int x = a % b;
if (x == 0) {
System.out.println(i + " 0");
break;
}
Integer t = map.get(x);
if (t != null) {
System.out.printf("%d %d\n", t, i - t);
break;
}
map.put(x, i);
a = x * 10;
} }
}
Test4



这道题个人没有理解,是参考考试完之后别人的答案。
package com.hone.pdd; import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet; public class Test4 {
// n 表示单词的个数 m表示单词的长度
static int n;
static int m;
static List<Set<Character>> b;
static Set<String> st;
static boolean flag = false; public static void main(String[] args) {
Scanner in = new Scanner(System.in);
n = in.nextInt();
m = in.nextInt();
in.nextLine();
String[] s = new String[n];
st = new TreeSet<>();
for (int i = 0; i < n; i++) {
s[i] = in.nextLine();
st.add(s[i]);
} b = new ArrayList<>();
for (int i = 0; i < m; i++) {
b.add(new TreeSet<>());
} for (int j = 0; j < m; j++) {
for (int i = 0; i < n; i++) {
b.get(j).add(s[i].charAt(j));
}
} // 深度优先搜索
dfs(0, new StringBuilder()); } private static void dfs(int k, StringBuilder sb) {
if (flag)
return; if (k == m) {
if (!st.contains(sb.toString())) {
System.out.println(sb);
flag = true;
}
return;
}
//lambda表达式
b.get(k).forEach(character -> {
StringBuilder ssb = new StringBuilder(sb);
ssb.append(character);
dfs(k + 1, ssb);
});
}
}
拼多多java后台笔试题目总结(20180830)的更多相关文章
- 2019 拼多多java面试笔试题 (含面试题解析)
本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.拼多多等公司offer,岗位是Java后端开发,最终选择去了拼多多. 面试了很多家公司,感觉大部分公司考察的点都差 ...
- 最新 拼多多java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.拼多多等10家互联网公司的校招Offer,因为某些自身原因最终选择了拼多多.6.7月主要是做系统复习.项目复盘.LeetCo ...
- 拼多多商品id怎么查看 拼多多店铺ID怎样看
网上开店平台有很多编号.id等可以区分商品和店铺的标志,拼多多有店铺id也有商品id,这是两个不同的概念,店铺id进入到拼多多店铺即可查询,拼多多商品id怎么查看 拼多多店铺ID怎样看,那么拼多多商品 ...
- 拼多多后台开发面试真题:如何用Redis统计独立用户访问量
众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作3年的开发,稍微优秀一点的,都给到30K的Offer,当然,拼多多加班也是出名的,一周上6天班是常态,每天工作时间基本都是超过1 ...
- 拼多多、饿了么、蚂蚁金服Java面试题大集合
自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多.饿了么.蚂蚁金服.哈啰出 ...
- Java对接拼多多开放平台API(加密上云等全流程)
前言 本文为[小小赫下士 blog]原创,搬运请保留本段,或请在醒目位置设置原文地址和原作者. 作者:小小赫下士 原文地址:Java对接拼多多开放平台API(加密上云等全流程) 本文章为企业ERP(I ...
- 一个IP可以登几个拼多多后台 拼多多如何推广营销
想要在拼多多上开双店?担心一根网线会引起IP冲突?那么一根网线可以登几个拼多多后台呢?有数据显示,挂双店是没有问题的,甚至可以多开.那么解决了一根网线的事情,要怎么对自己的店铺进行营销推广呢?下面是小 ...
- 3年Java开发10面阿里、京东、拼多多
拼多多 地点:2号线娄山关路地铁站(金虹桥国际中心) 环境:新的写字楼,环境很好,有种高大上的感觉.大厅进入后需要登记,然后进闸机.电梯是需要刷卡才能使用的.会议室都是用城市名称命名,例如杭州.香港等 ...
- 非科班双非本科投的337家Java后台(励志)
考试结束,班级平均分只拿到了年级第二,班主任于是问道:大家都知道世界第一高峰珠穆朗玛峰,有人知道世界第二高峰是什么吗?正当班主任要继续发话,只听到角落默默想起来一个声音:”乔戈里峰” 前言 文章出自h ...
随机推荐
- java图形界面之图形化按钮
要将按钮图形化,只需创建一个ImageIcon对象,将图形路径赋予ImageIcon对象,然后将该对象传递给按钮即可. 此处涉及eclipse中图形的路径设置,包括(项目路径下.非项目路径下.相对路径 ...
- 【代码笔记】iOS-JASidePanelsDemo(侧滑)
一,效果图. 二,工程图. 三,代码. AppDelegate.h #import <UIKit/UIKit.h> @class JASidePanelController; @inter ...
- mysql 导入时报错:Got a packet bigger than‘max_allowed_packet’bytes
原因是max_allowed_packet 值设置过小. 网上粘贴一段定义: max_allowed_packet:指代mysql服务器端和客户端在一次传送数据包的过程当中数据包的大小这个是定义mys ...
- iview select下拉bug
1场景:弹框内有一个下拉组件(支持搜索),当选择完数据后弹框关闭,再次打开后,下拉框内的数据是刚才选中的数据.原因:分析后觉得是搜索内容没有清空,导致下拉的数据只有一个解决:调用下setQuery方法 ...
- Git——克隆部分文件
在进行项目开发的时候,有时候会有这样的需求那就是:我们只希望从Git仓库里取指定的文件或者文件夹出来.在SVN里面,这非常容易实现,因为SVN基于文件方式存储,而Git却是基于元数据方式分布式存储文件 ...
- React Native常用组件样式总结
在react 中,有时要使用 style 指定样式 ,如要跟随放大比例关系,展示图标. const stylebutton = {width:25*scalesize, height:25*scale ...
- 【日常记录】【unity3d】 OnTriggerEnter 和 OnCollisionEnter (2D) 的区别
问题:两个物体A,B 两者都有碰撞体 collider(Box Collider,Sphere Collider,Capsule Collider等)当两物体相撞时,会进入 OnTriggerEnte ...
- DataTable拷贝DataRow
一开始,思路是这样的: DataTable dt = SqlHelper.GetTable("select * from Person"); DataTable dt2 = dt. ...
- How To Change Log Rate Limiting In Linux
By default in Linux there are a few different mechanisms in place that may rate limit logging. These ...
- 汽车学习---汽车知识大全【all】
汽车驱动/发动机/大灯 侧方位停车和倒车入库技巧 手动挡车型 换档8大技巧 常见的掉头情况注意事项 最全的左转,右转,待转,掉头方法 开车技巧大汇总,尤其适合新手司机 汽车常识扫盲,不做“汽车小白”! ...