算法题
文章平均质量分 77
徐乙
这个作者很懒,什么都没留下…
展开
-
对于一个基本有序的数组进行排序
十分简单,所以仅作个人记录用快排肯定不好,因为他的原理是选定一个值,然后使得他的左边的数都比他小,右边的数都比他大假定 1 2 3 4 5 100 6 7 8 200 9可以考虑增强型冒泡毫无疑问在第一次遍历的时候结果是这样的1 2 3 4 5 6 7 8 100 9 200然后如果是普通冒泡的话,我们下一个将从2开始,所以我们需要修改这个算法我们的目标就是定位到8,然后下一次从8开始遍历怎么定位...原创 2018-05-31 20:08:58 · 14922 阅读 · 0 评论 -
杭电ACM OJ 1038 Biker's Trip Odometer 水(只是题目意思有点难理解) java保留两位小数
Biker's Trip OdometerTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6300 Accepted Submission(s): 4281Problem DescriptionMost原创 2017-12-05 13:30:00 · 420 阅读 · 0 评论 -
杭电ACM OJ 1025 Constructing Roads In JGShining's Kingdom 最长上升子序列 O(nlogn)算法详解+回溯暴力解决+动态规划dp优雅解决
Constructing Roads In JGShining's KingdomTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 26933 Accepted Submission(s): 7655Proble原创 2017-11-25 16:53:12 · 965 阅读 · 0 评论 -
杭电ACM OJ 1036 Average is not Fast Enough! 水的么简直就不谈了!(只是题目意思有点难理解)
Average is not Fast Enough!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6567 Accepted Submission(s): 2774Problem Description原创 2017-12-05 00:14:26 · 492 阅读 · 0 评论 -
杭电ACM OJ 1035 Robot Motion 继续水
Robot MotionTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11550 Accepted Submission(s): 5468Problem DescriptionA robot原创 2017-12-04 22:05:45 · 345 阅读 · 0 评论 -
杭电ACM OJ 1034 Candy Sharing Game 水水更健康(只是题目意思有点难理解)
Candy Sharing GameTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7573 Accepted Submission(s): 4531Problem DescriptionA numbe原创 2017-12-04 20:43:04 · 737 阅读 · 0 评论 -
杭电ACM OJ 1033 Edge 本题考查英文过了6级没有和谷歌翻译的使用
EdgeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4019 Accepted Submission(s): 2490Problem DescriptionFor products that are原创 2017-12-04 01:30:00 · 586 阅读 · 0 评论 -
杭电ACM OJ 1032 The 3n + 1 problem 数据很弱,但是也需要思考一个方向
The 3n + 1 problemTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 41877 Accepted Submission(s): 15197Problem DescriptionProbl原创 2017-12-04 00:46:44 · 776 阅读 · 0 评论 -
杭电ACM OJ 1031 Design T-Shirt 还是快速默写一波 快速排序 轻松搞定!
Design T-ShirtTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10555 Accepted Submission(s): 5073Problem DescriptionSoon after原创 2017-12-03 23:30:34 · 485 阅读 · 0 评论 -
杭电ACM OJ 1030 Delta-wave 3维降2维坐标系法+图的搜索法
Delta-waveTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9688 Accepted Submission(s): 3882Problem DescriptionA triangle fiel原创 2017-12-03 20:56:47 · 473 阅读 · 0 评论 -
杭电ACM OJ 1029 Ignatius and the Princess IV 快速排序 挖坑填埋法
Ignatius and the Princess IVTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32767 K (Java/Others)Total Submission(s): 36359 Accepted Submission(s): 15863Problem Descriptio原创 2017-12-03 02:05:34 · 488 阅读 · 0 评论 -
杭电ACM OJ 1039 Easier Done Than Said? 水(但是很好玩的一道题,考察逻辑思维)
Easier Done Than Said?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14426 Accepted Submission(s): 6986Problem DescriptionPa原创 2017-12-05 14:20:02 · 634 阅读 · 0 评论 -
杭电ACM OJ 1040 As Easy As A+B 水(快速排序小变形 或者 维护当前值输出)
As Easy As A+BTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 67161 Accepted Submission(s): 28611Problem DescriptionThese day原创 2017-12-05 14:44:34 · 507 阅读 · 0 评论 -
面试算法题:扑克牌问题,逆过程分析
这是面试的时候碰到的问题由于当时没有进入算法的状态实现的不是特别的优雅就是手上有一堆牌先取顶上一张放到桌上再取顶上一张放到这堆牌的底部以此类推给了你最后桌上的序列求你原来手上牌的序列很快就可以分析出来“先取顶上一张放到桌上再取顶上一张放到这堆牌的底部”可以转化为“隔一张放一张到桌上再对剩下的牌做同样的操作”我当时发现逆序是真TM的难求所以用一个HashMap存了index然后对index操作最后还...原创 2018-04-29 09:29:02 · 4697 阅读 · 1 评论 -
用两个栈实现一个队列
这是我面试的时候碰到的问题我的解决方法很粗糙要入的话,把s2的倒回s1,再入;要出的话,把s1的倒入s2,再出;其实这样最好:入,直接入s1即可;出的话,如果s2有直接出就可以,没有的话,把s1的都倒入s2...原创 2018-04-28 20:27:56 · 145 阅读 · 0 评论 -
背包dp 来自网易笔试的双核处理题
题目来自https://www.nowcoder.com/test/question/9ba85699e2824bc29166c92561da77fa?pid=4575457&tid=14489937思路学习自https://blog.csdn.net/u011349602/article/details/69947849一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务...原创 2018-03-26 15:14:23 · 243 阅读 · 0 评论 -
背包dp 记录序号
背包dp很简单啊用二维数组的方式去思考用一维数组的方式去优化这里不再赘述了但是我碰到一道来自华为的笔试题发现需要把最优情况下的序号都输出出来这就让我难办了当时我建立在一维的优化后的情况去思考导致怎么都想不出来后来改回了二维终于解决了先看一下普通二维求最优解int[][] f = new int[n+1][weight+1];for(int i = 1;i <= n; i ++) { ...原创 2018-04-06 12:48:48 · 237 阅读 · 0 评论 -
简单算法题 矩阵复用
[编程题] 手串时间限制:1秒空间限制:65536K作为一个手串艺人,有金主向你订购了一条包含n个杂色串珠的手串——每个串珠要么无色,要么涂了若干种颜色。为了使手串的色彩看起来不那么单调,金主要求,手串上的任意一种颜色(不包含无色),在任意连续的m个串珠里至多出现一次(注意这里手串是一个环形)。手串上的颜色一共有c种。现在按顺时针序告诉你n个串珠的手串上,每个串珠用所包含的颜色分别有哪些。请你判断...原创 2018-04-14 12:03:31 · 293 阅读 · 0 评论 -
输入n个数,最坏情况下用 n + logn - 2 次比较找出当中的最大值和次大值(3种做法)
这个题我一开始是递归 从底层出发 比到顶层 显然时间复杂度不允许后来想了一种n时间复杂度的开两个数用来维护最大值和最小值就可以了,什么意思呢比如 1 3 6 2 8 4 0 0 8是我们要求的数组int last = Integer.Min_Value;int cur = Integer.Min_Value;分别代表了上一个最大值和当前最大值我们走到a[0] cur = 1到a[1] cur=3 ...原创 2017-12-17 15:18:56 · 3255 阅读 · 2 评论 -
位运算的优点和小白鼠面试题
优点可以从小白鼠面试题看出来有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?本质上是用10个数去定位1024个数抽象成3只小白鼠确认8个瓶子,用二进制表示000001010011100101110111每个瓶子我们都给了一个二进制的序号,这样就成功用二进制定位...原创 2018-02-13 18:57:48 · 845 阅读 · 0 评论 -
数组的循环右移问题
还有一个要求是只用2个变量我的思路 不知道对不对每个位置都会被移到某个位置上 只需要找到那个位置即可 这个对应关系是int calculateTargetIndex(int index) { if(index < k && index >= 0) //在最后k个中拿 return index + k; else re...原创 2018-03-18 00:30:27 · 469 阅读 · 0 评论 -
杭电ACM OJ 1026 Ignatius and the Princess I DFS+BFS
Ignatius and the Princess ITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20079 Accepted Submission(s): 6540Special JudgeProblem原创 2017-11-26 17:33:33 · 977 阅读 · 0 评论 -
杭电ACM OJ 1041 Computer Transformation 水(用笨办法做出来 看输出 直接找到规律 灵性无比)
Computer TransformationTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8545 Accepted Submission(s): 3223Problem DescriptionA原创 2017-12-05 15:15:07 · 365 阅读 · 0 评论 -
杭电ACM OJ 1024 Max Sum Plus Plus 动态规划 二维dp+滚动数组dp优化
Max Sum Plus PlusTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 32446 Accepted Submission(s): 11521Problem DescriptionNow I原创 2017-11-22 21:59:05 · 685 阅读 · 1 评论 -
杭电ACM OJ 1028 Ignatius and the Princess III 母函数+优化
Ignatius and the Princess IIITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23133 Accepted Submission(s): 16129Problem Descripti原创 2017-12-01 12:14:27 · 340 阅读 · 0 评论 -
杭电ACM OJ 1018 Big Number 两数相乘出一个大数,求大数的位数 注意log的使用
Big NumberTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 39368 Accepted Submission(s): 19166Problem DescriptionIn many appli原创 2017-11-16 18:19:36 · 512 阅读 · 0 评论 -
杭电ACM OJ 1012 u Calculate e 乍一看很简单的公式题 其实需要从题中分析出两个递归来 非常巧妙!
u Calculate eTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 48377 Accepted Submission(s): 22229Problem DescriptionA simple m原创 2017-11-12 18:06:37 · 523 阅读 · 0 评论 -
杭电ACM OJ 1005 Number Sequence 简单却重要的公式题 完美考察了递归思想
Number SequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 182566 Accepted Submission(s): 45386Problem DescriptionA numbe原创 2017-11-12 17:08:47 · 419 阅读 · 0 评论 -
杭电ACM OJ 1004 Let the Balloon Rise 考察map和list的遍历
Let the Balloon RiseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 129323 Accepted Submission(s): 51086Problem DescriptionCo原创 2017-11-12 16:44:01 · 319 阅读 · 0 评论 -
杭电ACM OJ 1002 A + B Problem II 大数问题 长整数问题
A + B Problem IITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 381958 Accepted Submission(s): 74267Problem DescriptionI have原创 2017-11-12 13:54:32 · 495 阅读 · 0 评论 -
杭电ACM OJ 1011 Starship Troopers 树的动态规划(树的dp)经典树形背包 java写的 包看懂 递归流程完全解析
Starship TroopersTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20646 Accepted Submission(s): 5497Problem DescriptionYou, t原创 2017-11-11 22:07:02 · 922 阅读 · 0 评论 -
杭电ACM OJ 1010 Tempter of the Bone 图的深度搜索,奇偶剪枝,难得有一道像点样子的好题
Tempter of the BoneTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 131410 Accepted Submission(s): 35386Problem DescriptionThe原创 2017-11-11 15:02:52 · 556 阅读 · 0 评论 -
杭电ACM OJ 1003 Max Sum 一点点的动态规划思想 入门级
Max SumTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 260585 Accepted Submission(s): 61936Problem DescriptionGiven a sequenc原创 2017-11-10 22:26:09 · 426 阅读 · 0 评论 -
杭电ACM OJ 1009 FatMouse' Trade 简单的贪心算法 入门级 翻译好题目就能做出来
FatMouse' TradeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 82705 Accepted Submission(s): 28651Problem DescriptionFatMouse原创 2017-11-10 20:37:17 · 1112 阅读 · 0 评论 -
杭电ACM OJ 1006 Tick and Tick 厌倦时钟 其实就是简单的数学题
Tick and TickTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20152 Accepted Submission(s): 5269Problem DescriptionThe three h原创 2017-11-10 17:54:39 · 2115 阅读 · 1 评论 -
杭电ACM OJ 1007 Quoit Design 最近点对 分治 递归
Quoit DesignTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 57079 Accepted Submission(s): 15143Problem DescriptionHave you e原创 2017-11-10 17:20:20 · 559 阅读 · 0 评论 -
杭电ACM OJ 1013 Digital Roots 如何用递归优雅地把一个未知长度的长整数的每一位拆分出来
Digital RootsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 82266 Accepted Submission(s): 25781Problem DescriptionThe digita原创 2017-11-12 19:53:22 · 474 阅读 · 0 评论 -
杭电ACM OJ 1014 Uniform Generator 大数值下 一开始用递归做StackOverFlow 后来用for循环就好了
Uniform GeneratorTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30505 Accepted Submission(s): 12163Problem DescriptionComput原创 2017-11-13 00:55:49 · 376 阅读 · 0 评论 -
杭电ACM OJ 1017 A Mathematical Curiosity 题很简单,就是题目意思太让人费解了!
A Mathematical CuriosityTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 44357 Accepted Submission(s): 14219Problem DescriptionGiv原创 2017-11-16 12:09:13 · 517 阅读 · 0 评论 -
杭电ACM OJ 1016 Prime Ring Problem 回溯法+ 高效判断素数 快速轻松解决
简单易理解的回溯法,高效判断素数,可以看我另外两篇博客,这里我也快速简要讲一下。这一题主要是要领悟回溯法,很关键。先写一个正常的n个数的求各种排列情况。就1到。。n。的各种排列情况。方法:正常思路是第一个位置有n种情况,你要写一个长度n的for循环,第二个位置自然是n-1种情况,所以要写一个长度n的for循环,以此类推。。。但是问题来了,你怎么知道传进来的n是多少?你又要写几个原创 2017-11-16 00:13:24 · 512 阅读 · 0 评论