2016年3月18日
摘要:
给定一个未排序的整数数组,找出最长连续序列的长度。 说明 要求你的算法复杂度为O(n) 样例 给出数组[100, 4, 200, 1, 3, 2],这个最长的连续序列是 [1, 2, 3, 4],返回所求长度 4 解题 排序后比较简单,快排O(nlogn) 后面只需要O(n)的时间复杂度求解了 发现 阅读全文
posted @ 2016-03-18 20:02
水滴四川
阅读(1321)
推荐(0)
编辑
摘要:
给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。 我们可以使用整数 0,1 和 2 分别代表红,白,蓝。 样例 给你数组 [1, 0, 1, 2], 需要将该数组原地排序为 [0, 1, 1, 2] 解题 暴力:两次快排 、扫描数组 阅读全文
posted @ 2016-03-18 17:40
水滴四川
阅读(891)
推荐(0)
编辑
摘要:
给出一个整数数组,堆化操作就是把它变成一个最小堆数组。 对于堆数组A,A[0]是堆的根,并对于每个A[i],A [i * 2 + 1]是A[i]的左儿子并且A[i * 2 + 2]是A[i]的右儿子。 什么是堆? 什么是堆化? 如果有很多种堆化的结果? 给出 [3,2,1,4,5],返回[1,2,3 阅读全文
posted @ 2016-03-18 17:01
水滴四川
阅读(706)
推荐(0)
编辑
摘要:
给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。 解题 顺时针旋转90度 就是 上下翻转,再主对角对折 阅读全文
posted @ 2016-03-18 16:41
水滴四川
阅读(576)
推荐(0)
编辑
摘要:
假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。 你需要找到其中最小的元素。 你可以假设数组中不存在重复的元素。 解题 可以线性查找 ,逆序后的数组 两个升序的数组,前面的数组元素都比后面数组元素大 数组降序的时候后面的数就是答案了 阅读全文
posted @ 2016-03-18 16:23
水滴四川
阅读(1439)
推荐(0)
编辑
摘要:
给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 样例 给出数组A = [2,3,1,1,4],最少到达数组最后一个位置的跳跃次数是2(从数组下标0跳一步到数组下标1,然后跳3步到数组的最 阅读全文
posted @ 2016-03-18 15:56
水滴四川
阅读(838)
推荐(0)
编辑
摘要:
给定两个整数数组(第一个是数组 A,第二个是数组 B),在数组 A 中取 A[i],数组 B 中取 B[j],A[i] 和 B[j]两者的差越小越好(|A[i] - B[j]|)。返回最小差。 给定数组 A = [3,4,6,7], B = [2,3,8,9],返回 0。 解题 暴力91%数据时候超 阅读全文
posted @ 2016-03-18 11:04
水滴四川
阅读(873)
推荐(0)
编辑
2016年3月17日
摘要:
牛客提交少输出两行,本地测试没问题。。。 阅读全文
posted @ 2016-03-17 21:46
水滴四川
阅读(2491)
推荐(0)
编辑
摘要:
字符集合 输入一个字符串,求出该字符串包含的字符集合 输入描述: 每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。 输出描述: 每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。 输入例子: abcqweracb 输出例子: abcqwer解题标记法时间复杂度太差了,可以用HashMap增加了空间复杂度我的标记法 impo... 阅读全文
posted @ 2016-03-17 21:00
水滴四川
阅读(775)
推荐(0)
编辑
摘要:
删数 有一个数组a[N]顺序存放0-N,要求没隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。 输入描述: 每组数据为一行一个整数n(小于等于1000),为数组成员数,如100,则对a[999]进... 阅读全文
posted @ 2016-03-17 20:40
水滴四川
阅读(718)
推荐(0)
编辑
摘要:
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) 输入一个十六进制的数值字符串。 输出该数值的十进制字符串。 阅读全文
posted @ 2016-03-17 19:55
水滴四川
阅读(3117)
推荐(0)
编辑
摘要:
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序 阅读全文
posted @ 2016-03-17 19:51
水滴四川
阅读(399)
推荐(0)
编辑
摘要:
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3 阅读全文
posted @ 2016-03-17 19:48
水滴四川
阅读(758)
推荐(0)
编辑
2016年3月16日
摘要:
假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。 你需要找到其中最小的元素。 数组中可能存在重复的元素。 解题 暴力直接线性查找 或者,线性找到第一个开始降序的位置对应的数 应该考虑二分法 递归 + 二分 二分 阅读全文
posted @ 2016-03-16 20:10
水滴四川
阅读(651)
推荐(0)
编辑
摘要:
线段树的修改 对于一棵 最大线段树, 每个节点包含一个额外的 max 属性,用于存储该节点所代表区间的最大值。 设计一个 modify 的方法,接受三个参数 root、 index 和 value。该方法将 root 为跟的线段树中 [start, end] = [index, index] 的节点 阅读全文
posted @ 2016-03-16 19:36
水滴四川
阅读(342)
推荐(0)
编辑
摘要:
线段树的查询 对于一个有n个数的整数数组,在对应的线段树中, 根节点所代表的区间为0-n-1, 每个节点有一个额外的属性max,值为该节点所代表的数组区间start到end内的最大值。 为SegmentTree设计一个 query 的方法,接受3个参数root, start和end,线段树root所 阅读全文
posted @ 2016-03-16 19:30
水滴四川
阅读(810)
推荐(0)
编辑
摘要:
线段树的构造 线段树是一棵二叉树,他的每个节点包含了两个额外的属性start和end用于表示该节点所代表的区间。start和end都是整数,并按照如下的方式赋值: 根节点的 start 和 end 由 build 方法所给出。 对于节点 A 的左儿子,有 start=A.left, end=(A.l 阅读全文
posted @ 2016-03-16 19:13
水滴四川
阅读(781)
推荐(0)
编辑
摘要:
Pow(x, n) Implement pow(x, n). 解题 直接顺序求解,时间复杂度O(N) public class Solution { /** * @param x the base number * @param n the power number * @return the re 阅读全文
posted @ 2016-03-16 19:03
水滴四川
阅读(385)
推荐(0)
编辑
摘要:
装最多水的容器 给定 n 个非负整数 a1, a2, ..., an, 每个数代表了坐标中的一个点 (i, ai)。画 n 条垂直线,使得 i 垂直线的两个端点分别为(i, ai)和(i, 0)。找到两条线,使得其与 x 轴共同构成一个容器,以容纳最多水。 解题 不理解题意 通俗的说 在上面n个点中 阅读全文
posted @ 2016-03-16 18:54
水滴四川
阅读(898)
推荐(0)
编辑
摘要:
带环链表 给定一个链表,判断它是否有环。 解题 定义两个指针p1 p2 p1每次向前走一步 p2每次向前走两步 当p2能赶上p1的时候说明有环 /** * Definition for ListNode. * public class ListNode { * int val; * ListNode 阅读全文
posted @ 2016-03-16 17:08
水滴四川
阅读(886)
推荐(0)
编辑
摘要:
接雨水 给出 n 个非负整数,代表一张X轴上每个区域宽度为 1 的海拔图, 计算这个海拔图最多能接住多少(面积)雨水。 如上图所示,海拔分别为 [0,1,0,2,1,0,1,3,2,1,2,1], 返回 6. 解题 先遍历一遍找到最高点,然后分别从两边开始,往最高点所在位置遍历,水位只会增高不会减小 阅读全文
posted @ 2016-03-16 00:56
水滴四川
阅读(2007)
推荐(0)
编辑
2016年3月15日
摘要:
奖学金 小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。每门课由平时成绩和考试成绩组成,满分为r。现在他知道每门课的平时成绩为ai ,若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。 输入描述: 第一行三个整数n,r,avg... 阅读全文
posted @ 2016-03-15 21:38
水滴四川
阅读(639)
推荐(0)
编辑
posted @ 2016-03-15 20:11
水滴四川
阅读(1228)
推荐(0)
编辑
摘要:
扫描透镜 在N*M的草地上,小明种了K个蘑菇,蘑菇爆炸的威力极大,小华不想贸然去闯,而且蘑菇是隐形的.只 有一种叫做扫描透镜的物品可以扫描出隐形的蘑菇,于是他回了一趟战争学院,买了2个扫描透镜,一个 扫描透镜可以扫描出(3*3)方格中所有的蘑菇,然后小华就可以清理掉一些隐形的蘑菇. 问:小华最多可以清理多少个蘑菇? 输入描述: 第一行三个整数:N,M,K,(1≤N,M≤20,K≤100),N,M... 阅读全文
posted @ 2016-03-15 19:10
水滴四川
阅读(922)
推荐(0)
编辑
posted @ 2016-03-15 17:16
水滴四川
阅读(709)
推荐(0)
编辑
|
|
|