摘要: 题目: 如果一个数组再排序之后,每相邻两个数差的绝对值都为1,则该数组为可整合数组。例如,[5,3,4,6,2]排序之后为[2,3,4,5,6],符合每相邻两个数差的绝对值为1,所以这个数组为可整合数组。 给定一个整型数组,请返回其中最大可整合子数组的长度。例如,[5,5,3,2,6,4,3]的最大 阅读全文
posted @ 2016-02-12 19:26 小魔仙 阅读(860) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一列都是排好序的。实现一个函数,判断K是否在matrix中。 例如: 0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 如果K为7,返回true;如果K为6,返回false。 要求时间复杂度为O(N+M 阅读全文
posted @ 2016-02-12 18:51 小魔仙 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 题目: 1.给定一个整型数组,打印其中出现次数大于一半的数。如果没有出现这样的数,打印提示信息。 如:1,2,1输出1。 1,2,3输出no such number。 2.给定一个整型数组,再给一个整数K,打印所有出现次数大于N/K的数,如果没有这样的数,打印提示信息。 解答: 两道题都可以使用哈希 阅读全文
posted @ 2016-02-12 18:27 小魔仙 阅读(1554) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个无序数组,求出需要排序的最短子数组的长度。 例如:arr={1,5,3,4,2,6,7}返回4,因为只有[5,3,4,2]需要排序。 思路: 解决这个问题可以在时间复杂度为O(N)、额外空间复杂度为O(1)完成。 初始化变量noMinIndex=-1,从右向左遍历,便利的过程记录右侧出现过的数的最小值,记为min。假设当前数为arr[i],如果arr[i]>min,说明如果要整体有... 阅读全文
posted @ 2016-02-12 00:23 小魔仙 阅读(1848) 评论(3) 推荐(0) 编辑
摘要: 题目: 给定一个无序的整型数组arr,找到其中最小的k个数。 方法一: 将数组排序,排序后的数组的前k个数就是最小的k个数。 时间复杂度:O(nlogn) 方法二: 时间复杂度:O(nlogk) 维护一个有k个数的大根堆,这个堆代表目前选出的k个最小的数。在堆的k个元素中堆顶元素是最小的k个数中最大 阅读全文
posted @ 2016-02-11 23:46 小魔仙 阅读(6181) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个矩阵matrix,按照“之”字形的方式打印这个矩阵。例如: 1 2 3 4 5 6 7 8 9 10 11 12 “之”字形打印的结果为:1,2,5,9,6,3,4,7,10,11,8,12 要求额外的空间复杂度为O(1)。 思路: 1.上坐标(tR,tC)的初始为(0,0),先沿着 阅读全文
posted @ 2016-02-11 18:50 小魔仙 阅读(1566) 评论(0) 推荐(0) 编辑
摘要: final关键字: final关键字通常指的是“无法改变的”,使用“无法改变”这样修饰可能出于两个原因:设计或者效率。 final可以修饰变量、方法和类。 一、final变量 一个既是static又是final的域只占据一段不能改变的存储空间。 当对对象引用而不是基本类型运用final修饰时,其含义 阅读全文
posted @ 2016-02-07 01:17 小魔仙 阅读(1656) 评论(0) 推荐(0) 编辑
摘要: 题目一: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order. For example,Given the following matrix: 阅读全文
posted @ 2016-01-29 21:03 小魔仙 阅读(1354) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定32位整数a和b,可正、可负、可0,不能使用算术运算符,可分别实现a和b的加减乘除运算。 加法运算: 无进位相加: a: 001010101 b: 000101111 a^b 001111010 只考虑进位: a 001010101 b 000101111 (a&b)<<1 000001 阅读全文
posted @ 2016-01-29 16:50 小魔仙 阅读(679) 评论(0) 推荐(0) 编辑
摘要: 一、优化 1.在IDEA的安装目录的bin目录下,找到如图所示的两个文件,根据所在系统是32位还是64位打开相应的文件。 2.以64位为例,打开idea64.exe.vmoptions。 如图修改参数: -Xms512m表示堆内存初始值为512M -Xmx1024m表示堆内存的最大值为1024M - 阅读全文
posted @ 2016-01-28 18:53 小魔仙 阅读(3988) 评论(1) 推荐(0) 编辑