- 博客(12)
- 资源 (9)
- 收藏
- 关注
原创 经典快排和随机快排
/** * 经典快排、随机快排 * 经典快排:利用最后一个数作为分界点,小的放左边,大的放右边,可以使用荷兰国旗问题(文末)的方法优化 * 随机快排:产生一个随机位置作为分界点 */import java.util.Arrays;public class C04_QuickSort { public static void quickSort(int[]arr){ if(arr...
2018-02-28 14:29:56 3771 2
原创 时间复杂度
常数时间的操作:一个操作如果和数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。时间复杂度为一个算法流程中,常数操作数量的指标。常用O来表示。具体来说,在常数操作数量的表达式中,只要高阶项,不要低阶项,也不要高阶项的系数,剩下的部分如果记为f(N),那么时间复杂度为O(f(N))。评价一个算法流程的好坏,先看时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是常数项时间mas...
2018-02-25 13:33:13 278
原创 对数器的概念和使用
对数器在无法进行数据校验的情况下起着极为重要的作用,尤其是数据量大的时候。这里使用简单的冒泡排序进行演示/** 冒泡排序 并使用对数器进行校验 对数器的概念和使用 0)有一个你想要测的方法a, 1)实现一个绝对正确但是复杂度不好的方法b, 2)实现一个随机样本产生器 3)实现比对的方法 4)把方法a和方法b比对很多次来验证方法a是否正确。 5)如果有一个样本使得比对出错,打印样本...
2018-02-24 17:34:49 793 1
原创 程序员代码面试指南--生成窗口最大值数组
/** 生成窗口最大值数组 【题目】 有一个整城数组arr和一个大小为w的窗口从数组的最左边滑到最右边,容口每次向右边滑一个位置。 如果数组长度为n,窗口大小为w,则一共产生n-w+1个窗口的最大值。 请实现一个函数。 -输入:整型数组arr,窗口大小为w。 -输出:一个长度为n-w+1的数组res,res[]表示每一种窗口状态下的最大值。 *//** 假设遍历到arr[i],...
2018-02-10 16:10:25 216
原创 程序员代码面试指南--用一个栈实现另一个栈的排序
/** 用一个栈实现另一个栈的排序 【题目】 一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小 的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不 能申请额外的数据结构。如何完成排序? *//* 将要排序的栈记为stack,申请的辅助栈记为help。在stack上执 行pop操作,弹出的元素记为cur。 -如果cur小于或等于help的栈顶元素,则将cur
2018-02-07 14:24:42 210
原创 程序员代码面试指南--猫狗队列
/** 猫狗队列 【题目】 实现一种狗猫队列的结构,要求如下: 用户可以调用add方法将cat类或dog类的实例放入队列中; 用户可以调用pollAll方法,将队列中所有的实例按照进队列的先后顺序依次弹出; 用户可以调用pollDog方法,将队列中dog类的实例按照进队列的先后顺序依次弹出; 用户可以调用pollCat方法,将队列中cat类的实例按照进队列的先后顺序依次弹出; 用户
2018-02-06 22:05:41 316
原创 程序员代码面试指南--如何仅用递归函数和栈操作逆序一个栈
/** 如何仅用递归函数和栈操作逆序一个栈 【题目】 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、 3、2、1。将这个栈转置后,从栈顶到栈底为1、2、3、4、5,也就 是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数 据结构。 */import java.util.Stack;public class C03_ReverseStackUsing
2018-02-06 17:05:37 203
原创 程序员代码面试指南--由两个栈组成的队列
/** 由两个栈组成的队列 【题目】编写一个类,用两个栈实现队列,支持队列的基本操作(add、pollpeek)。 栈的特点是先进后出,而队列的特点是先进先出。我们用两个栈正好能把顺序反过来实现类似队列的操作。 具体实现上是一个栈作为压入栈,在压入数据时只往这个栈中压入, 记为stackPush;另一个栈只作为弹出栈,在弹出数据时只从这个栈弹出,记为stackPop。 因为数据压入
2018-02-04 22:38:40 202
原创 程序员代码面试指南--设计一个具有getMin功能的栈
/* 设计一个有getMin功能的栈 【题目】 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回 栈中最小元素的操作。 【要求】 1.pop、push、getMin操作的时间复杂度都是O(1)。 2.设计的栈类型可以使用现成的栈结构。在设计上我们使用两个栈,一个栈用来保存当前栈中的元素,其功能和一个正常的栈没有区别,这个栈记为stackData;另一个栈用于保存每
2018-02-04 16:21:06 230
原创 左神算法课堂系列--纸条折痕问题
算法敏感度的训练【题目】请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开。此时折痕是凹下去的,即折痕突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时有三条折痕,从上到下依次是下折痕、下折痕和上折痕。给定一个输入参数N,代表纸条都从下边向上方连续对折N次,请从上到下打印所有折痕的方向。例如:N=1时,打印:downN
2018-02-04 14:12:36 1077
原创 左神算法课堂系列--数组划分最大绝对值之差问题
算法思维的锻炼【题目】已知一个整型数组arr,数组长度为size且size大于2,arr有size-1种可以划分成左右两部分的方案。比如:arr = {3, 2, 3, 4, 1, 2}第1种划分左部分为[3],右部分为[2, 3, 4, 1, 2]第2种划分左部分为[3, 2],右部分为[3, 4, 1, 2]第3种划分左部分为[3, 2, 3],右部分为[4,
2018-02-03 23:08:27 741
原创 牛客网直通BAT面试算法精讲课优惠码
优惠码:AGkLFZG链接:http://www.nowcoder.com/courses/1?coupon=AGkLFZG
2018-02-01 19:44:41 449
winrar 5.61 32位 64位 破解版
2019-02-09
jquery中英文手册、js
2018-10-15
spring-security-core-3.1.0.RELEASE
2018-10-01
Java连接数据库的工具类
2017-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人