今日头条2018春季校园招聘研发岗位笔试编程题2
2018-03-25 21:35
726 查看
今日头条2018春季校园招聘研发岗位笔试编程题2
题目描述定义两个字符串变量:s和m,再定义两种操作,
第一种操作:
m = s;
s = s + s;
第二种操作:
s = s + m;
假设s, m初始化如下:
s = “a”;
m = s;
求最小的操作步骤数,可以将s拼接到长度等于n。
输入描述:
一个整数n,表明我们需要得到s字符串长度 对于100%的数据,0 < n < 10000 |
一个整数,表明总共操作次数 |
输入
6 |
3 |
输入是6,表明我们需要得到s字符串长度为6,也就是s最终为 “aaaaaa”, 那么依次使用2次“第一种操作”和1次“第二种操作”就能达到目的,总共操作次数是3。 |
输入
5 |
4 |
假设n=5,表明我们需要得到s字符串长度为5,也就是s最终为 “aaaaa”, 那么直接使用4次“第二种操作”就能达到目的,总共操作次数是4。 |
输入
4 |
2 |
假设n=4,表明我们需要得到s字符串长度为4,也就是s最终为 “aaaa”, 那么直接使用2次“第一种操作”就能达到目的,总共操作次数是2。 |
package toutiao; import java.util.*; class Entry { int s; int m; public Entry() { } public Entry(int s, int m) { this.s = s; this.m = m; } } public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); Entry init = new Entry(1, 1); Map<Entry, Integer> map = new HashMap<Entry, Integer>(); Queue<Entry> queue = new LinkedList<Entry>(); queue.add(init); map.put(init, 0); while (!queue.isEmpty()) { Entry entry = queue.poll(); if (entry.s == n) { System.out.println(map.get(entry)); break; } Entry entry1 = new Entry(); entry1.m = entry.s; entry1.s = 2 * entry.s; queue.add(entry1); map.put(entry1, map.get(entry) + 1); Entry entry2 = new Entry(); entry2.m = entry.m; entry2.s = entry.s + entry.m; queue.add(entry2); map.put(entry2, map.get(entry) + 1); } scan.close(); } }
参考了https://blog.csdn.net/u010215313/article/details/79726370的代码。
相关文章推荐
- 今日头条2018春季校园招聘研发岗位笔试编程题1
- 今日头条2018春季校园招聘研发岗位笔试编程题4
- [置顶] 今日头条2018春季校园招聘研发岗位笔试 题解 临时版
- 今日头条2018春季校园招聘研发岗位笔试编程题 - 题解
- 今日头条2018春季校园招聘研发岗位笔试编程题第一、二题
- 寻找丑数 - 滴滴出行2018校园招聘网申笔试-研发工程师
- 南方电网2018校园招聘计算机类岗位面试、笔试经历
- 整数无序数组求第K大数(暴力|快排) - 滴滴出行2018校园招聘内推笔试-研发工程师
- 给定整数序列求连续子串最大和 - 滴滴出行2018校园招聘内推笔试-研发工程师
- xor - 滴滴出行2018校园招聘网申笔试-研发工程师
- 2015年创新工场校园招聘软件研发岗位笔试题目——矩阵旋转
- 今日头条2017暑期实习生招聘笔试编程题之函数最宽尖峰
- 今日头条2018春季 算法实习生编程题 python
- 今日头条2018春招研发岗笔试题目
- 招商银行信用卡2018春季招聘研发(第一批)编程题 - 题解
- 今日头条2017校园招聘 春招4.18笔试
- 校园招聘-2017阿里C/C++研发工程师内推笔试编程题
- 深信服2018春季招聘-研发卷编程题 - 题解
- 重排序列(水题) - 网易2018校园招聘研发工程师(有道事业部)笔试卷
- 金山WPS2016春季实习校园招聘笔试&面试问题回忆