自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【一次过】Lintcode 379. 将数组重新排序以构造最小值

给定一个整数数组,请将其重新排序,以构造最小值。 样例 样例 1: 输入:[2, 1] 输出:[1, 2] 解释:通过将数组重新排序,可构造 2 个可能性数字: 1+2=12 2+1=21 其中,最小值为 12,所以,将数组重新排序后,该数组变为...

2019-07-14 11:29:19

阅读数 59

评论数 0

原创 【两次过】Lintcode 197. 排列序号

给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。 样例 样例 1: 输入:[1,2,4] 输出:1 样例 2: 输入:[3,2,1] 输出:6 解题思路: 需要知道一个算法:康托展开。 原理介绍 **X = A[0] * (n-...

2019-07-14 11:05:18

阅读数 18

评论数 0

原创 查找当前薪水详情以及部门编号dept_no

题目描述 查找各个部门当前(to_date='9999-01-01')领导当前薪水详情以及其对应部门编号dept_no CREATE TABLE `dept_manager` ( `dept_no` char(4) NOT NULL, `emp_no` int(11) NOT...

2019-07-09 21:40:50

阅读数 30

评论数 0

原创 【两次过】Lintcode 191. 乘积最大子序列

找出一个序列中乘积最大的连续子序列(至少包含一个数)。 样例 样例 1: 输入:[2,3,-2,4] 输出:6 样例 2: 输入:[-1,2,4,1] 输出:8 解题思路1: 常规思路两遍遍历,时间复杂度O(n^2) public class Solution { ...

2019-07-06 10:37:25

阅读数 42

评论数 0

原创 【两次过】【2019招行】漂流船问题

公司组织团建活动,到某漂流圣地漂流,现有如下情况: 员工各自体重不一,第i个人的体重为people[i],每艘漂流船可以承载的最大重量为limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为limit。 为节省开支,麻烦帮忙计算出载到每一个人所需的最小船只数(保证每个人都能被船...

2019-07-03 20:17:19

阅读数 165

评论数 0

原创 文件的读入与写入

一、文件的读取 1、按字符读取 如果我们要取的数据基本单位是单个字符,那么用这种方法读取文件就比较适合。比如:txt文件如下,我们需要取出其中的每一个字母存入一个数组中。也就是一次性读取文件中所有字符。 利用FileReader中的read()方法。FileReader.read(cha...

2019-07-02 15:50:42

阅读数 76

评论数 0

原创 【两次过】Lintcode 187. 加油站

在一条环路上有N个加油站,其中第i个加油站有汽油gas[i],并且从第_i_个加油站前往第_i_+1个加油站需要消耗汽油cost[i]。 你有一辆油箱容量无限大的汽车,现在要从某一个加油站出发绕环路一周,一开始油箱为空。 求可环绕环路一周时出发的加油站的编号,若不存在环绕一周的方案,则返回-1...

2019-07-01 10:59:06

阅读数 56

评论数 0

原创 【三次过】Lintcode 363. 接雨水

给出n个非负整数,代表一张X轴上每个区域宽度为1的海拔图, 计算这个海拔图最多能接住多少(面积)雨水。 样例 样例 1: 输入: [0,1,0] 输出: 0 样例 2: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6 挑战 O(n) 时间, O(1...

2019-06-30 21:19:55

阅读数 36

评论数 0

原创 【一次过】Lintcode 150. 买卖股票的最佳时机 II

给定一个数组prices表示一支股票每天的价格. 你可以完成任意次数的交易, 不过你不能同时参与多个交易 (也就是说, 如果你已经持有这支股票, 在再次购买之前, 你必须先卖掉它). 设计一个算法求出最大的利润. 样例 样例 1: 输入: [2, 1, 2, 0, 1] 输出: 2 解...

2019-06-29 10:08:27

阅读数 23

评论数 0

原创 【两次过】大整数字符串相乘

给定两个数字(0-9)字符串(长度不限)求它们的乘积。 输入描述: 第一行为第一个数字字符串 第二行为第二个数字字符串 输出描述: 乘积字符串 示例1 输入 123 20 输出 2460 解题思路: 直接用整数乘显然不行,这里采用math包下的BigInteger类,...

2019-06-19 20:58:55

阅读数 60

评论数 0

原创 【一次过】已知 sqrt (2)约等于 1.414,要求不用数学库,求 sqrt (2)精确到小数点后 10 位。

已知 sqrt(2)约等于 1.414,那么就可以在(1.41, 1.42)区间做二分.设l = 1.41, r = 1.42, mid = (r+l)/2 循环退出条件:r-l <= 精度 public class Main { public static void main...

2019-06-18 19:44:59

阅读数 410

评论数 0

原创 写一个java死锁程序

只需要模拟持有并请求,即线程0获得A锁后又去请求B锁,线程1获得B锁后又去请求A锁,由于循环依赖导致彼此一直在等待。 DeadLock.java public class DeadLock implements Runnable{ private String str1; ...

2019-06-17 14:42:58

阅读数 52

评论数 0

原创 启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程1打印16,17,18,19,20…

启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程1打印16,17,18,19,20….以此类推, 直到打印到75. 解题思路1: 最常规死板的做法,缺点是有多少中线程同步就需要建...

2019-06-02 21:01:12

阅读数 1116

评论数 2

原创 设计四个线程,其中两个线程每次对变量i加1,另外两个线程每次对i减1.

说明:MyObj类为功能函数(加1和减1)以及变量i的存储地方。 这里采用AtomicInteger类来保证一致性 假设每个线程处理3次 public class Main { public static void main(String[] args){ MyO...

2019-06-02 20:31:39

阅读数 578

评论数 0

原创 【两次过】【2018唯品会】字符串组合

输入一个字符串,输出该字符串中相邻字符的所有组合。 举个例子,如果输入abc,它的组合有a、b、c、ab、bc、abc。(注意:输出的组合需要去重)(40分) 输入描述: 一个字符串 输出描述: 一行,每个组合以空格分隔,相同长度的组合需要以字典序排序,且去重。 示例1 输入 ...

2019-05-30 21:10:35

阅读数 32

评论数 0

原创 【两次过】【二分搜索】【2018爱奇艺】最后一位

题目描述 牛牛选择了一个正整数X,然后把它写在黑板上。然后每一天他会擦掉当前数字的最后一位,直到他擦掉所有数位。 在整个过程中,牛牛会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum. 例如X = 509, 在黑板上出现过的数字依次是509, 50, 5, 他们的和就是564. 牛牛...

2019-05-22 09:24:37

阅读数 50

评论数 0

原创 堆排序

直接在原数组上进行排序,时间复杂度O(nlogn),空间复杂度O(1) 前置知识:由于直接从数组排序,所以序号从0开始,可以得到 parent(i) = (i-1)/2 left child(i) = 2*i+1 right child(i) = 2*i+2 解题分为两个步骤: (1)...

2019-05-21 21:37:59

阅读数 50

评论数 0

原创 【两次过】【2018爱奇艺】幸运子序列

题目描述 牛牛得到一个长度为n的整数序列V,牛牛定义一段连续子序列的幸运值为这段子序列中最大值和次大值的异或值(次大值是严格的次大)。牛牛现在需要求出序列V的所有连续子序列中幸运值最大是多少。请你帮帮牛牛吧。 输入描述: 第一行一个整数n,即序列的长度。(2<= n <= 10...

2019-05-21 09:33:50

阅读数 85

评论数 0

原创 【一次过】【2018爱奇艺】缺失的括号

题目描述 一个完整的括号字符串定义规则如下: 1、空字符串是完整的。 2、如果s是完整的字符串,那么(s)也是完整的。 3、如果s和t是完整的字符串,将它们连接起来形成的st也是完整的。 例如,"(()())", ""和"(())()"...

2019-05-21 09:19:22

阅读数 50

评论数 0

原创 【两次过】【2018爱奇艺】青草游戏

题目描述 牛牛和羊羊都很喜欢青草。今天他们决定玩青草游戏。 最初有一个装有n份青草的箱子,牛牛和羊羊依次进行,牛牛先开始。在每个回合中,每个玩家必须吃一些箱子中的青草,所吃的青草份数必须是4的x次幂,比如1,4,16,64等等。不能在箱子中吃到有效份数青草的玩家落败。假定牛牛和羊羊都是按照最佳方...

2019-05-20 10:34:42

阅读数 61

评论数 0

原创 【两次过】【2018爱奇艺】红和绿

题目描述 牛牛有一些排成一行的正方形。每个正方形已经被染成红色或者绿色。牛牛现在可以选择任意一个正方形然后用这两种颜色的任意一种进行染色,这个正方形的颜色将会被覆盖。牛牛的目标是在完成染色之后,每个红色R都比每个绿色G距离最左侧近。牛牛想知道他最少需要涂染几个正方形。 如样例所示: s = RG...

2019-05-20 09:27:42

阅读数 53

评论数 0

原创 【一次过】【2018爱奇艺】回文素数

题目描述 如果一个整数只能被1和自己整除,就称这个数是素数。 如果一个数正着反着都是一样,就称为这个数是回文数。例如:6, 66, 606, 6666 如果一个数字既是素数也是回文数,就称这个数是回文素数 牛牛现在给定一个区间[L, R],希望你能求出在这个区间内有多少个回文素数。 输入描述:...

2019-05-17 09:35:05

阅读数 64

评论数 0

原创 【三次过】【2018爱奇艺】DNA序列

题目描述 牛牛又从生物科研工作者那里获得一个任务,这次牛牛需要帮助科研工作者从DNA序列s中找出最短没有出现在DNA序列s中的DNA片段的长度。 例如:s = AGGTCTA 序列中包含了所有长度为1的('A','C','G',...

2019-05-16 10:39:00

阅读数 82

评论数 0

原创 【一次过】【2018爱奇艺】循环数比较

题目描述 对于任意两个正整数x和k,我们定义repeat(x, k)为将x重复写k次形成的数,例如repeat(1234, 3) = 123412341234,repeat(20,2) = 2020. 牛牛现在给出4个整数x1, k1, x2, k2, 其中v1 = (x1, k1), v2 =...

2019-05-16 10:02:40

阅读数 61

评论数 0

原创 【三次过】【2018招行】寻找合法字符串

给出一个正整数n,请给出所有的包含n个'('和n个')'的字符串,使得'('和')'可以完全匹配。 例如: '(())()','()()()' 都是合法的; '(...

2019-05-16 09:42:17

阅读数 92

评论数 0

原创 【两次过】【2018招行】字符串是否由子串拼接

给出一个非空的字符串,判断这个字符串是否是由它的一个子串进行多次首尾拼接构成的。 例如,"abcabcabc"满足条件,因为它是由"abc"首尾拼接而成的,而"abcab"则不满足条件。 输入描述: 非空字符串 输出描述: ...

2019-05-15 21:08:01

阅读数 71

评论数 0

原创 【三次过】【2018网易】疯狂队列

题目描述 小易老师是非常严厉的,它会要求所有学生在进入教室前都排成一列,并且他要求学生按照身高不递减的顺序排列。有一次,n个学生在列队的时候,小易老师正好去卫生间了。学生们终于有机会反击了,于是学生们决定来一次疯狂的队列,他们定义一个队列的疯狂值为每对相邻排列学生身高差的绝对值总和。由于按照身高...

2019-05-15 20:18:41

阅读数 81

评论数 0

原创 【两次过】操作序列

题目描述 小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作: 1、将a_i放入b序列的末尾 2、逆置b序列 小易需要你计算输出操作n次之后的b序列。 输入描述: 输入包括两行,第一行包括一个整数n(2 ≤ n ≤ 2*10^5),即序列的长度。...

2019-05-15 10:00:43

阅读数 58

评论数 0

原创 【一次过】交错01串

题目描述 如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: "1","10101","0101010"都是交错01串。 小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错...

2019-05-15 09:37:18

阅读数 57

评论数 0

原创 【两次过】【2018网易】彩色的砖块

题目描述 小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计算有多少种方式将他所有砖块排成漂亮的一...

2019-05-14 09:17:11

阅读数 36

评论数 0

原创 【一次过】【2018网易】字符串碎片

一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。 ...

2019-05-13 19:54:33

阅读数 23

评论数 0

原创 【两次过】机器人的运动范围

题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为...

2019-05-13 10:50:53

阅读数 11

评论数 0

原创 【两次过】数据流中的中位数

题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 ...

2019-05-13 09:51:56

阅读数 8

评论数 0

原创 【三次过】691. 恢复二叉搜索树

在一棵二叉搜索树中, 只有两个节点是被交换的. 找到这些节点并交换, 如果没有节点被交换就返回原来的树的根节点. 样例 样例1 输入: {4,5,2,1,3} 输出: {4,2,5,1,3} 解释: 给出的二叉搜索树: 4 / \ 5 2 / \ 1 3 返回:...

2019-05-12 11:20:29

阅读数 27

评论数 0

原创 【两次过】Lintcode 701. 修剪二叉搜索树

给定一个有根的二分搜索树和两个数字min和max,修整这个树使得所有的数字在这个新的树种都是在min和max之间(包括min和max)。然后这个所得的树仍然是合法的二分搜索树。举个例子,输入是: 然后我们给定min为5和max为13,这样得到的二分搜索树的结果应该是: 样例 样例1 输入:...

2019-05-12 10:26:22

阅读数 29

评论数 0

原创 【两次过】二叉树的下一个结点

题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解题思路: 分析二叉树的下一个节点,一共有以下情况: 1.二叉树为空,则返回空; 2.若节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿...

2019-05-11 09:39:56

阅读数 21

评论数 0

原创 【两次过】【2018网易】魔法币

小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。 魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币 魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔...

2019-05-09 21:11:58

阅读数 10

评论数 0

原创 【两次过】构建乘积数组

题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 解题思路: B[i]的值可以看作下图的矩阵中每行的乘积。 下三角用连乘可以很...

2019-05-09 19:59:59

阅读数 24

评论数 0

原创 【一次过】把字符串转换成整数

题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述...

2019-05-08 09:37:58

阅读数 54

评论数 0

原创 【两次过】圆圈中最后剩下的数

题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱...

2019-05-08 09:12:57

阅读数 16

评论数 0

提示
确定要删除当前文章?
取消 删除