摘要:
给定一个整型正方形矩阵matrix, 请把该矩阵调整成顺时针旋转90度的样子。【要求】 额外空间复杂度为O(1)。 对比上面两图,1,4,16,13是一组,2,8,15,9是一组,3,12,14,5是一组,他们分别和下一个位置上的数交换, 但是实际操作起来,就很难找边界的旋转 通过rotate(in 阅读全文
摘要:
给定一个数组, 求如果排序之后, 相邻两数的最大差值, 要求时间复杂度O(N), 且要求不能用非基于比较的排序。 阅读全文
摘要:
如何仅用栈结构实现队列结构? 解:准备两个栈,一个stackIn 一个stackOut,stackIn用来接收入队的元素,stackOut用来进行出队列的操作,当stackOut为空时,从stackIn处弹入(全部)即可 如何仅用队列结构实现栈结构? 解:准备两个队列Queue<Integer> q 阅读全文
摘要:
用数组结构实现大小固定的栈 (较简单) 栈是先进后出 用数组结构实现大小固定的队列 (较复杂) 队列是先进先出 注意:不要试图使用head和tail两个指针之间的关系进行判断,很复杂 head和tail分别从头开始,触底就从头开始, 只利用它们与size之间的关系,size==0时,出队列poll( 阅读全文
摘要:
实现一个特殊的栈, 在实现栈的基本功能的基础上, 再实现返回栈中最小元素的操作。【要求】1. pop、 push、 getMin操作的时间复杂度都是O(1)。2. 设计的栈类型可以使用现成的栈结构。 包含min函数的栈 自已以前的思路就是,每次getMin()函数时,就准备一个备用栈,将数据栈中的元 阅读全文
摘要:
非基于比较的排序 时间复杂度O(N),空间复杂度O(N) 稳定的排序 给定一个数组, 求如果排序之后, 相邻两数的最大差值, 要求时间复杂度O(N), 且要求不能用非基于比较的排序 阅读全文
摘要:
将乱序的红白蓝三色小球排列成有序的红白蓝三色的同颜色在一起的小球组。 这个问题之所以叫荷兰国旗,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组成荷兰国旗。 等价于: 给定一个数组arr, 和一个数num 请把小于num的数放在数组的左边 等于num的数放在数组的中间 大于num的数放在 阅读全文
摘要:
小和问题在一个数组中, 每一个数左边比当前数小的数累加起来, 叫做这个数组的小和。 求一个数组的小和。例子:[1,3,4,2,5]1左边比1小的数, 没有;3左边比3小的数, 1;4左边比4小的数, 1、 3;2左边比2小的数, 1;5左边比5小的数, 1、 3、 4、 2;所以小和为1+1+3+1 阅读全文
摘要:
1.java.lang.Math.Random 返回一个正的double值,范围是[0.0, 1.0),在该范围内近似是均匀分布 int num = (int)(Math.Random() * 12) 返回的是0-11之间的值,注意返回值是double型,使用时注意类型转换 2.java.util. 阅读全文