牛客网-一遍没过
shoushudao111
这个作者很懒,什么都没留下…
展开
-
牛客网题解-回文序列
回文序列BFS解法,题目第一眼的感觉是最短路径,于是尝试使用BFS和队列求解,提交时显示超时,因此需要对题目进行进一步分析。首先回文序列,可能想到的是外面一个循环,挨个去遍历以每一个人位置上的字符为回文序列的中心,形成一个回文序列所需要的操作次数,接着往下分析,按照题目所给的规则进行操作时,没法下手。此时应当换个角度考虑,假如我们从两端开始,步步逼近回文序列,当两端不相等时,取较小的一端求...原创 2018-11-09 11:35:29 · 357 阅读 · 0 评论 -
牛客网-电话分身号码
电话分身号码//第一次做错的原因是没有读清晰题目,题目会将字符串打乱;第二次错在string.replace上,这个是替换所有出现在string里面的char//最后题目分析的还不错 import java.util.*;public class Main { public static void main(String args[]){ Scanner i...原创 2018-11-11 12:11:04 · 287 阅读 · 0 评论 -
牛客网-保留最大的数
保留最大的数 开始的思路是错的,即想着每次找到现有元素中最小的然后删除,那么剩下的就是最大数,其实不然,应该多找几个case; //删除元素后,组成最大数,分为两种情况,一:存在元素比其后面的元素小,则删除;后面的元素一直比前面的大,删除最后一个import java.util.*;public class Main { public static void main(S...原创 2018-11-11 10:57:22 · 206 阅读 · 0 评论 -
牛客网-拼凑面额(经典动态规划)
拼凑面额题目描述给你六种面额1、5、10、20、50、100元的纸币,假设每种币值的数量都足够多,编写程序求组成N元(N为0-10000的非负整数)的不同组合的个数。输入描述:输入为一个数字N,即需要拼凑的面额输出描述:输出也是一个数字,为组成N的组合个数。思路:使用{1}组成n的解法,使用{1,5},的解法,使用{1,5,10...}的解法。公式如下:i...原创 2018-11-10 21:06:54 · 287 阅读 · 0 评论 -
牛客网-数列还原
数列还原解题思路:稍加分析,根据数据规模,先对模糊的数字全排列吗,然后组成完整的数组,再判断完整的数组是否满足条件。 失误:把简单的问题想的有点复杂了。import java.util.*;public class Main { public static List<ArrayList<Integer>> res=new ArrayList<A...原创 2018-11-10 16:04:43 · 316 阅读 · 0 评论 -
牛客网-暗黑的字符串(动态规划)
暗黑的字符串总结题目的动态规划解法和普通的动态规划相比难点在于找公式,状态转移方程涉及到的不至是前一项,还有可能是前几项,所以在数学上推导,公式尽量网f(n)与f(n-1)...f(n-k)上靠拢。import java.util.*;public class Main { public static void main(String args[]){ Sc...原创 2018-11-10 10:10:36 · 305 阅读 · 0 评论 -
牛客网-(模拟)构造队列
构造队列解法1:转换成约瑟夫问题:转换成约瑟夫问题:我们看这个整个一次过程,就相当于从第一个元素开始,数到第二个元素,把这个第二个元素kill(移除队列)。之后再从这个被kill的元素的下一个元素(这时候已经成了新的队头),又开始数,到第二个又删除……..那么就出来了:这是一个环内有6个数的约瑟夫环,q = 2的出环问题。我们要求的,就是原先的队列的各个位置的值,也相当于每一步出...原创 2018-11-10 09:30:31 · 268 阅读 · 0 评论 -
牛客网-数串
数串//贪心策略,每次找出在剩余数组中,与其他数字组合总是在前面的import java.util.*;public class Main { public static void main(String args[]){ Scanner in=new Scanner(System.in); while(in.hasNext()) { ...原创 2018-11-09 14:50:22 · 137 阅读 · 0 评论 -
牛客网-跳石板(变形的动态规划题目)
跳石板思路:思路:将1-M个石板看做一个结果数组step,每个step[i]储存着从起点到这一步最小的步数,其中Integer.MAX_VALUE为不能到达。从起点开始对step进行遍历,先求i的所有约数(即从res[i]能走的步数),然后更新那几个能到达的位置的最小步数(如果不能到达则更新为此时位置的最小步数+1,如果是能到达的就更新为min(已记录的最小步数,此处的最小步数+1)),遍历一...原创 2018-11-09 12:55:09 · 276 阅读 · 0 评论 -
牛客网-彩色宝石项链
彩色宝石项链 解法一是错误的,因为定义pos数组后,对其进行赋值产生了混乱;解法二是AC了,不知道是不是因为对数组进行赋值的原因。解法一错误: import java.lang.reflect.Array;import java.util.*;public class Main1 { public static int flag=1; public static ...原创 2018-11-11 16:43:59 · 214 阅读 · 0 评论