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)的更多相关文章

  1. 2019 拼多多java面试笔试题 (含面试题解析)

    本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.拼多多等公司offer,岗位是Java后端开发,最终选择去了拼多多. 面试了很多家公司,感觉大部分公司考察的点都差 ...

  2. 最新 拼多多java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.拼多多等10家互联网公司的校招Offer,因为某些自身原因最终选择了拼多多.6.7月主要是做系统复习.项目复盘.LeetCo ...

  3. 拼多多商品id怎么查看 拼多多店铺ID怎样看

    网上开店平台有很多编号.id等可以区分商品和店铺的标志,拼多多有店铺id也有商品id,这是两个不同的概念,店铺id进入到拼多多店铺即可查询,拼多多商品id怎么查看 拼多多店铺ID怎样看,那么拼多多商品 ...

  4. 拼多多后台开发面试真题:如何用Redis统计独立用户访问量

    众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作3年的开发,稍微优秀一点的,都给到30K的Offer,当然,拼多多加班也是出名的,一周上6天班是常态,每天工作时间基本都是超过1 ...

  5. 拼多多、饿了么、蚂蚁金服Java面试题大集合

    自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多.饿了么.蚂蚁金服.哈啰出 ...

  6. Java对接拼多多开放平台API(加密上云等全流程)

    前言 本文为[小小赫下士 blog]原创,搬运请保留本段,或请在醒目位置设置原文地址和原作者. 作者:小小赫下士 原文地址:Java对接拼多多开放平台API(加密上云等全流程) 本文章为企业ERP(I ...

  7. 一个IP可以登几个拼多多后台 拼多多如何推广营销

    想要在拼多多上开双店?担心一根网线会引起IP冲突?那么一根网线可以登几个拼多多后台呢?有数据显示,挂双店是没有问题的,甚至可以多开.那么解决了一根网线的事情,要怎么对自己的店铺进行营销推广呢?下面是小 ...

  8. 3年Java开发10面阿里、京东、拼多多

    拼多多 地点:2号线娄山关路地铁站(金虹桥国际中心) 环境:新的写字楼,环境很好,有种高大上的感觉.大厅进入后需要登记,然后进闸机.电梯是需要刷卡才能使用的.会议室都是用城市名称命名,例如杭州.香港等 ...

  9. 非科班双非本科投的337家Java后台(励志)

    考试结束,班级平均分只拿到了年级第二,班主任于是问道:大家都知道世界第一高峰珠穆朗玛峰,有人知道世界第二高峰是什么吗?正当班主任要继续发话,只听到角落默默想起来一个声音:”乔戈里峰” 前言 文章出自h ...

随机推荐

  1. Stream grouping-storm的流分组策略

    A stream grouping tells a topology how to send tuples between two components. Remember, spouts and b ...

  2. opencv图像处理时使用文件输入流ifstream批量读取图片

    简介: 在利用opencv进行图像处理时,通常需要批量读取图片,然后做相应的处理,我们可以用C++文件的输入流来进行图片的读取,这要求我们应该事先,将图片图片名生成txt文件,具体请参见之前的博文[u ...

  3. 推荐一个 JavaScript 日期处理类库 Moment.js

    官网: http://momentjs.com/ 处理时间的展示,很方便. 安装 bower install moment --save # bower npm install moment --sa ...

  4. Hbase-indexer常用命令

    1. 启动hbase-indexer服务 nohup ./hbase-indexer server -z s1:,s2:,s3:,s4:,s5: > /work/hbase-indexer.lo ...

  5. linux vim 快捷键

    vim命令模式输入a i o 这些命令进入插入模式 编辑模式命令模式输入双引号进入编辑模式 命令模式命令 命令 作用 :map Ctrl+V Ctrl+P I#<ESC> 自定义注释快捷键 ...

  6. 团队项目个人进展——Day05

    一.昨天工作总结 冲刺第五天,学习了官方文档说明,学习并但是并未实现地图的放大与缩小 二.遇到的问题 对一些框架和API不太熟悉 未实现地图的放大与缩小 三.今日工作规划 深入学习有关视频与文档说明

  7. 1.CSS基础简介

    一.基础简介 1.简介 CSS(Cascading Style Sheet)可译为“层叠样式表”或“级联样式表”,它定义如何显示 HTML 元素,用于控制Web页面的外观.通过使用CSS实现页面的内容 ...

  8. Oracle EBS 清理归档

    oraprod 登陆数据库服务器 执行 rman target / 如图: 执行: delete noprompt force archivelog all completed before ‘sys ...

  9. 获取WebService的请求信息

    一个已经写好的项目中有多个WebService,由于之前没有记录请求信息的,有时候需要查错等需要找到当次的请求信息,所以需要加入记录请求信息的功能. 首先想到的是在每一个带有WebMethod特性的方 ...

  10. unwrapped与wrapped变量取值的问题

    unwrapped与wrapped变量取值的问题 当我们在定义一个tableView时,是可以使用3种定义方式的,第一种就是定义成optional(AnyObject?)形式,第二种为non-opti ...