- 博客(10)
- 收藏
- 关注
原创 [LeetCode—008][Java]字符串的最大公因子
题目:对于字符串 S 和 T,只有在 S = T + … + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。str1[i] 和 str2[i] 为大写英文字母示例 1:输入:str1 = "ABCABC", str2 = "ABC"输出:"ABC"示例 2:输入:str1 = "...
2020-03-12 10:51:39
283
原创 [LeetCode—007][Java]将数组分成和相等的三个部分
题目:给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + … + A[A.length - 1]) 就可以将数组三等分示例 1:输出:[...
2020-03-11 23:02:32
722
原创 [LeetCode—006][Java]买卖股票的最佳时机
题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...
2020-03-09 12:29:27
283
原创 [LeetCode—005][Java]队列的最大值
题目:请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数 max_value 、push_back 和 pop_front 的时间复杂度都是_O(1)_。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入: ["MaxQueue","push_back","push_back","max_value","pop_front","m...
2020-03-07 10:49:35
389
原创 [LeetCode—004][Java]和为s的连续正数序列
题目:输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]解题思路首先可以从题目里面得知,输出的结果都...
2020-03-06 12:18:49
310
原创 [LeetCode—003][Java]分糖果
题目:我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。重复上述过程(每次都比上一次多给出一颗糖果,当到...
2020-03-05 12:45:23
481
原创 [LeetCode—002][Java]腐烂的橘子
题目:在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。示例图:示例1:输入:[[2,1,1],[1,1,0],[0,1,1]]输出:4示例 2:输入:[[2...
2020-03-04 11:35:33
464
1
原创 [CowCoder—001][Java]冒泡排序相关
**题目:**现有一个n个整数的序列,你要做的就是交换两个数的位置直到整个序列按照升序排列,那么将这个整数序列排好序,需要交换多少次?例如,1,2,3,5,4,我们只需要交换一次,即将5和4交换即可。这种类型的题目是冒泡排序的变形题方法一:冒泡排序:上来就给他整2个for循环//记录循环化次数private int count = 0; public int sort1(int[] a...
2020-03-03 23:22:06
217
原创 [LeetCode—001][Java]合并排序的数组
题目描述:给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳B。编写一个方法,将 B 合并入 A 并排序。初始化 A 和 B 的元素数量分别为 m 和 n。示例:输入:A = [1,2,3,0,0,0], m = 3B = [2,5,6], n = 3输出: [1,2,2,3,5,6]解法一:直接使用System的快速复制数组的arraycopy(...
2020-03-03 20:16:28
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅