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. Yii查询count()

    BsCapters::model()->findAllBySql("select count(*) as bookids from bs_capters where bookid = ...

  2. Git——克隆部分文件

    在进行项目开发的时候,有时候会有这样的需求那就是:我们只希望从Git仓库里取指定的文件或者文件夹出来.在SVN里面,这非常容易实现,因为SVN基于文件方式存储,而Git却是基于元数据方式分布式存储文件 ...

  3. Action 中获取表单数据的三种方式

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905  冷血之心的博客) Action 中获取表单提交数据 ...

  4. 180217_JAVA学习_TreeSet中存放含多个String的类并设置排序规则

    有Person类如下: class Person { String name; int age; String address; } 有main如下: import java.util.TreeSet ...

  5. windows 静态IP设置举例

    IP 172.20.108.239 子网掩码 255.255.255.0 网关 172.20.108.1

  6. B/S与C/S架构、B/S架构协议

    软件有三大类型 单机类型.CS类型(Outlook.QQ.大型游戏).BS类型 BS结构中的协议 在BS结构中,首先使用到DNS协议:网络传输部分使用TCP/IP参考模型,其中网络接入层没有相应协议, ...

  7. 三、vue如何配置路由 、获取路由的参数、部分刷新页面、缓存页面

        1.路由配置:所有的启动文件都在最初始的main.js文件里面,这个文件中首先需要引入: 2.路由文件配置说明: 3.如何获取页面url的参数? this.$route.query 4.页面之 ...

  8. node和iisnode express手工安装

    一.安装node.js的x86版本: 这样,node.js会安装在C:\Program Files (x86)\nodejs,这符合iisnode express7版本的期待. 二.安装iisnode ...

  9. 软工读书笔记 week 9 ——《构建之法》

    软工读书笔记  week 9                 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...

  10. .Net Core+Vue.js+ElementUI 实现前后端分离

    .Net Core+Vue.js+ElementUI 实现前后端分离 Tags: Vue 架构 前端采用:Vue.js.Element-UI.axios 后端采用:.Net Core Mvc 本项目是 ...