- 博客(223)
- 资源 (35)
- 收藏
- 关注
原创 13. 罗马数字转整数
罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。...
2021-02-28 19:15:18 136
原创 8. 字符串转换整数 (atoi)
请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的atoi函数)。函数myAtoi(string s)的算法如下:读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。 将前面步骤读入的这些数字转换为整数(即,"1...
2021-02-28 18:05:47 224
原创 5689. 统计匹配检索规则的物品数量
给你一个数组items,其中items[i] = [typei, colori, namei],描述第i件物品的类型、颜色以及名称。另给你一条由两个字符串ruleKey和ruleValue表示的检索规则。如果第i件物品能满足下述条件之一,则认为该物品与给定的检索规则匹配:ruleKey == "type"且ruleValue == typei。 ruleKey == "color"且ruleValue == colori。 ruleKey == "na...
2021-02-28 17:07:20 386
原创 720. 词典中最长的单词
给出一个字符串数组words组成的一本英语词典。从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。若无答案,则返回空字符串。示例 1:输入:words = ["w","wo","wor","worl", "world"]输出:"world"解释: 单词"world"可由"w", "wo", "wor", 和 "worl"添加一个字母组成。示例 2:输入:words = ["a", ".
2021-02-28 10:44:02 109
原创 989. 数组形式的整数加法
对于非负整数X而言,X的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果X = 1231,那么其数组形式为[1,2,3,1]。给定非负整数X的数组形式A,返回整数X+K的数组形式。示例 1:输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234示例 2:输入:A = [2,7,4], K = 181输出:[4,5,5]解释:274 + 181 = 455示例 3:输入:A ...
2021-02-28 09:44:22 81
原创 1360. 日期之间隔几天
请你编写一个程序来计算两个日期之间隔了多少天。日期以字符串形式给出,格式为YYYY-MM-DD,如示例所示。示例 1:输入:date1 = "2019-06-29", date2 = "2019-06-30"输出:1示例 2:输入:date1 = "2020-01-15", date2 = "2019-12-31"输出:15提示:给定的日期是1971年到2100年之间的有效日期。import java.text.DateFormat;imp...
2021-02-28 09:25:08 137
原创 28. 实现 strStr()
实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needle = "bba"输出: -1说明:当needle是空字符串时,我们应当返回什么值呢?这是一个在...
2021-02-28 09:09:38 79
原创 914. 卡牌分组
给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有X张牌。 组内所有的牌上都写着相同的整数。仅当你可选的X >= 2时返回true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输入:[1,1,1,2,2,2,3,3]输出:false解释:没有满足要求的分组。示例 3:...
2021-02-28 08:50:40 73
原创 859. 亲密字符串
给定两个由小写字母构成的字符串A和B,只要我们可以通过交换A中的两个字母得到与B相等的结果,就返回true;否则返回false。交换字母的定义是取两个下标i和j(下标从0开始),只要i!=j就交换A[i]和A[j]处的字符。例如,在"abcd"中交换下标0和下标2的元素可以生成"cbad"。示例 1:输入: A = "ab", B = "ba"输出: true解释: 你可以交换 A[0] = 'a' 和 A[1] = '...
2021-02-28 07:12:13 137
原创 925. 长按键入
你的朋友正在使用键盘输入他的名字name。偶尔,在键入字符c时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回True。示例 1:输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中的 'a' 和 'e' 被长按。示例 2:输入:name = "saeed", typed = "ssaaedd"输出:...
2021-02-28 07:11:55 108 1
原创 1736. 替换隐藏数字得到的最晚时间
给你一个字符串time,格式为hh:mm(小时:分钟),其中某几位数字被隐藏(用?表示)。有效的时间为00:00到23:59之间的所有时间,包括00:00和23:59。替换time中隐藏的数字,返回你可以得到的最晚有效时间。示例 1:输入:time = "2?:?0"输出:"23:50"解释:以数字 '2' 开头的最晚一小时是 23 ,以 '0' 结尾的最晚一分钟是 50 。示例 2:输入:time = "0?:3?"输出:"09:39...
2021-02-27 18:07:14 164
原创 1566. 重复至少 K 次且长度为 M 的模式
给你一个正整数数组arr,请你找出一个长度为m且在数组中至少重复k次的模式。模式是由一个或多个值组成的子数组(连续的子序列),连续重复多次但不重叠。 模式由其长度和重复次数定义。如果数组中存在至少重复k次且长度为m的模式,则返回true,否则返回false。示例 1:输入:arr = [1,2,4,4,4,4], m = 1, k = 3输出:true解释:模式 (4) 的长度为 1 ,且连续重复 4 次。注意,模式可以重复 k 次或更多次,但...
2021-02-27 17:44:37 105
原创 367. 有效的完全平方数
给定一个正整数num,编写一个函数,如果num是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:Falsepublic class Solution367 { public boolean isPerfectSquare(int num) { if (num == 1) { return true; } for (int i ...
2021-02-27 17:15:25 133
原创 1013. 将数组分成和相等的三个部分
给你一个整数数组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:输入:[0,2,1,-6,6,-7,9,1,2,0,1]输出:true解释:0 + 2 + 1 = ...
2021-02-27 17:06:38 97
原创 482. 密钥格式化
有一个密钥字符串 S ,只包含字母,数字以及 '-'(破折号)。其中, N 个 '-' 将字符串分成了 N+1 组。给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符。两个分组之间需要用 '-'(破折号)隔开,并且将所有的小写字母转换为大写字母。给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。示例 1:输入:S = "5F3Z-2e-9-w", K = 4输出:"5F3Z-.
2021-02-27 16:50:49 109
原创 441. 排列硬币
你总共有n枚硬币,你需要将它们摆成一个阶梯形状,第k行就必须正好有k枚硬币。给定一个数字n,找出可形成完整阶梯行的总行数。n是一个非负整数,并且在32位有符号整型的范围内。示例 1:n = 5硬币可排列成以下几行:¤¤ ¤¤ ¤因为第三行不完整,所以返回2.示例 2:n = 8硬币可排列成以下几行:¤¤ ¤¤ ¤ ¤¤ ¤因为第四行不完整,所以返回3.public class Solution441 { public...
2021-02-27 14:01:39 86
原创 594. 最长和谐子序列
和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给你一个整数数组nums,请你在所有可能的子序列中找到最长的和谐子序列的长度。数组的子序列是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。示例 1:输入:nums = [1,3,2,2,5,2,3,7]输出:5解释:最长的和谐子序列是 [3,2,2,2,3]示例 2:输入:nums = [1,2,3,4]输出:2示例 3:输入:nu...
2021-02-27 10:32:32 134 1
原创 504. 七进制数
给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意:输入范围是[-1e7, 1e7] 。public class Solution504 { public String convertToBase7(int num) { if (num == 0) { return "0"; } int n, m; n = Math.abs(num); S...
2021-02-27 09:56:20 125
原创 844. 比较含退格的字符串
给定S和T两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。#代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。示例 3:输入:S = "a##c", T = "#a#c"输出:true...
2021-02-27 07:36:20 108 1
原创 1331. 数组序号转换
给你一个整数数组arr,请你将数组中的每个元素替换为它们排序后的序号。序号代表了一个元素有多大。序号编号的规则如下:序号从 1 开始编号。 一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。 每个数字的序号都应该尽可能地小。示例 1:输入:arr = [40,10,20,30]输出:[4,1,2,3]解释:40 是最大的元素。 10 是最小的元素。 20 是第二小的数字。 30 是第三小的数字。示例 2:输入:arr = [100,100,100]...
2021-02-27 07:36:02 103
原创 551. 学生出勤记录 I
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:'A': Absent,缺勤 'L': Late,迟到 'P': Present,到场如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤记录判断他是否会被奖赏。示例 1:输入: "PPALLP"输出: True示例 2:输入: "PPALLL"输出: Falsepublic class Solution5...
2021-02-26 20:06:37 111
原创 415. 字符串相加
给定两个字符串形式的非负整数num1和num2,计算它们的和。提示:num1和num2的长度都小于 5100 num1和num2都只包含数字0-9 num1和num2都不包含任何前导零 你不能使用任何內建 BigInteger 库,也不能直接将输入的字符串转换为整数形式public class Solution415 { public String addStrings(String num1, String num2) { String out = ""...
2021-02-26 19:53:23 74
原创 350. 两个数组的交集 II
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。 我们可以不考虑输出结果的顺序。进阶:如果给定的数组已经排好序呢?你将如何优化你的算法? 如果nums1的大小比nums2小很...
2021-02-26 12:29:41 97
原创 1317. 将整数转换为两个无零整数的和
「无零整数」是十进制表示中不含任何 0的正整数。给你一个整数n,请你返回一个由两个整数组成的列表[A, B],满足:A和B都是无零整数 A + B = n题目数据保证至少有一个有效的解决方案。如果存在多个有效解决方案,你可以返回其中任意一个。示例 1:输入:n = 2输出:[1,1]解释:A = 1, B = 1. A + B = n 并且 A 和 B 的十进制表示形式都不包含任何 0 。示例 2:输入:n = 11输出:[2,9]示例...
2021-02-26 07:59:37 122
原创 Java实现堆排序算法
堆排序算法在本教程中,您将学习堆排序算法的工作原理。此外,您还将找到使用C,C ++,Java和Python进行堆排序的工作示例。堆排序是计算机编程中一种流行且高效的排序算法。学习如何编写堆排序算法需要了解两种类型的数据结构-数组和树。我们要排序的初始数字集存储在数组中,例如[10, 3, 76, 34, 23, 32],排序后,我们得到一个排序后的数组[3,10,23,32,34,76]堆排序的工作原理是将数组的元素可视化为一种特殊的完整二叉树,称为堆。前提条件是,..
2021-02-26 07:01:00 1574
原创 Java实现堆排序算法
什么是堆?堆数据结构是一个数组对象,可以很容易地将其可视化为完整的二叉树。有两种类型的堆。第一个是最大堆,第二个是最小堆。最大堆是二进制树的一种特殊类型。最大堆的根大于其子根。另一个堆是“最小堆”,这也是一种特殊类型的堆,其根值比其子项的值低。我们可以使用堆排序算法对数组值进行排序。在此算法中,将使用生成的堆来重建堆。堆排序的复杂度为O(n.log(n))。堆排序最慢,但对于大型数据集来说是更好的选择。堆的所有节点还满足以下关系:每个节点上的键值至少与其子键值一样大。 ...
2021-02-26 07:00:36 424
原创 Java实现归并排序算法
合并排序技术使用“分而治之”策略。在这种技术中,将要排序的数据集被划分为较小的单元以对其进行排序。例如,如果要使用mergesort对数组进行排序,则该数组将围绕其中间元素分成两个子数组。将这两个子数组进一步划分为较小的单元,直到每个单元只有1个元素。划分完成后,该技术通过比较每个元素并在合并时对它们进行排序来合并这些单个单元。这样,当整个数组合并回去时,我们得到了一个排序数组。在本教程中,我们将全面讨论该排序技术的所有细节,包括其算法和伪代码以及该技术在Java中的实现。Java中的M.
2021-02-26 07:00:14 810
原创 Java实现快速排序算法
QuickSort是分而治之的算法。在分而治之算法设计范式中,我们将问题递归地划分为子问题,然后解决子问题,最后结合解决方案以找到最终结果。在本文中,我们将重点介绍Java中的QuickSort将问题划分为子问题时要记住的一件事是,子问题的结构不会像原始问题一样发生变化。分而治之算法有3个步骤:划分:将问题分解为子问题 征服:以递归方式解决子问题 合并:合并解决方案以获得最终结果有多种基于分而治之范式的算法。快速排序和合并排序就是其中之一。尽管QuickSort...
2021-02-26 06:59:53 950 1
原创 Java实现希尔排序算法
壳排序算法在本教程中,您将学习shell排序的工作方式。此外,您还将找到使用C,C ++,Java和Python进行shell排序的工作示例。壳排序是一种算法,该算法首先对彼此分开的元素进行排序,然后依次减小要排序的元素之间的间隔。它是插入排序的通用版本。在外壳排序中,将按特定间隔对元素进行排序。元素之间的间隔根据使用的顺序逐渐减小。shell排序的性能取决于给定输入数组使用的序列类型。使用的一些最佳顺序是:Shell的原始顺序:N/2 , N/4 , …, 1 ...
2021-02-26 06:59:30 409
原创 1556. 千位分隔数
给你一个整数n,请你每隔三位添加点(即 "." 符号)作为千位分隔符,并将结果以字符串格式返回。示例 1:输入:n = 987输出:"987"示例 2:输入:n = 1234输出:"1.234"示例 3:输入:n = 123456789输出:"123.456.789"示例 4:输入:n = 0输出:"0"提示:0 <= n < 2^31import java.util.ArrayList;public clas...
2021-02-26 06:58:14 152
原创 682. 棒球比赛
你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表ops,其中ops[i]是你需要记录的第i项操作,ops遵循下述规则:整数x- 表示本回合新获得分数x "+"- 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。 "D"- 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效的分...
2021-02-25 11:27:30 100
原创 1025. 除数博弈
爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字N。在每个玩家的回合,玩家需要执行以下操作:选出任一x,满足0 < x < N且N % x == 0。 用N - x替换黑板上的数字N。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回True,否则返回False。假设两个玩家都以最佳状态参与游戏。示例 1:输入:2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。示例 2...
2021-02-25 08:10:01 162 1
原创 867. 转置矩阵
给你一个二维整数数组matrix,返回matrix的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:matrix = [[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]提示:m == matrix.length n == matr...
2021-02-25 07:54:19 98
原创 Java实现基数排序算法
Radix Sort是一种有效的基于非比较的排序算法,可以按线性O(N)时间复杂度对数据集进行排序,因此比其他同类竞争算法要好快速排序。它使用另一种算法计数排序作为子例程。“基数排序”利用以下思想:整数中的位数取决于: 它的基础 与数据相比要少得多 数字线性增加,但数字对数增加。开发基数排序可以对大整数排序。它会将整数视为一串数字,因此我们也可以使用“基数排序”对字符串进行排序。算法对于i从最低有效数字到最高有效数字变化的每个数字i,都要执行以下操作。 使用以下命令对输入.
2021-02-25 07:31:11 372
原创 804. 唯一摩尔斯密码词
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串,比如:"a"对应".-","b"对应"-...","c"对应"-.-.", 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-...
2021-02-25 07:14:48 111
原创 1252. 奇数值单元格的数目
给你一个n行m列的矩阵,最开始的时候,每个单元格中的值都是0。另有一个索引数组indices,indices[i] = [ri, ci]中的ri和ci分别表示指定的行和列(从0开始编号)。你需要将每对[ri, ci]指定的行和列上的所有单元格的值加1。请你在执行完所有indices指定的增量操作后,返回矩阵中 「奇数值单元格」 的数目。示例 1:输入:n = 2, m = 3, indices = [[0,1],[1,1]]输出:6解释...
2021-02-25 07:14:29 129 1
原创 1752. 检查数组是否经排序和轮转得到
给你一个数组nums。nums的源数组中,所有元素与nums相同,但按非递减顺序排列。如果nums能够由源数组轮转若干位置(包括 0 个位置)得到,则返回true;否则,返回false。源数组中可能存在重复项。注意:我们称数组A在轮转x个位置后得到长度相同的数组B,当它们满足A[i] == B[(i+x) % A.length],其中%为取余运算。示例 1:输入:nums = [3,4,5,1,2]输出:true解释:[1,2,3...
2021-02-25 07:14:09 92
原创 1534. 统计好三元组
给你一个整数数组arr,以及a、b、c三个整数。请你统计其中好三元组的数量。如果三元组(arr[i], arr[j], arr[k])满足下列全部条件,则认为它是一个好三元组。0 <= i < j < k <arr.length |arr[i] - arr[j]| <= a |arr[j] - arr[k]| <= b |arr[i] - arr[k]| <= c其中|x|表示x的绝对值。返回好三元组的数量。...
2021-02-25 07:13:48 241
原创 Java实现存储桶排序算法
桶分类算法在本教程中,您将学习存储桶排序的工作方式。此外,您还将找到使用C,C ++,Java和Python进行存储桶排序的工作示例。桶排序是一种排序技术,它通过首先将元素分成几个称为桶的组来对元素进行排序。使用合适的排序算法或递归调用同一算法对每个存储桶中的元素进行排序。创建了几个存储桶。每个存储桶都填充有特定范围的元素。使用任何其他算法对存储桶中的元素进行排序。最后,收集存储桶中的元素以获取排序后的数组。桶分类的过程可以理解为分散收集方法。首先将元素分散到存储桶中,然..
2021-02-25 07:13:12 401
原创 Java实现计数排序算法
计数排序算法计数排序是一种排序算法,它通过计算数组中每个唯一元素的出现次数来对数组的元素进行排序。将计数存储在辅助数组中,并通过将计数映射为辅助数组的索引来完成排序。计数排序如何工作?max从给定的数组中找出最大的元素(设为)。 给定数组 初始化一个长度max+1为0的所有元素的数组。此数组用于存储数组中元素的数量。 计数数组 将每个元素的计数存储在count数组中它们各自的索引处 例如:如果元素3的计数为2,则将2存储在元素的第3个位置数数大批。如果数组中不存在元素“
2021-02-24 07:55:38 2628 1
WebRTC - 快速指南.doc
2021-10-10
Monitoring Apache Tomcat with JMX.pdf
2020-12-01
S7500E系列交换机产品介绍.ppt
2020-10-16
在Centos 7上安装Snort 2.9.15.1.pdf
2020-07-08
Installation OpenMeetings 5.0.0-M4 on Ubuntu 18.04 LTS.pdf
2020-05-22
Installation OpenMeetings 4.0.10 on Centos 7.pdf
2020-05-21
Installation OpenMeetings 5.0.0-M2 on Centos 7.pdf
2020-05-17
install_flash_player_22_active_x22.0.0.192.exe
2020-02-24
堆叠LVM卷.doc
2019-10-11
RHEL 8 VDO重复数据删除和压缩存储.doc
2019-10-11
DRBD9和LINSTOR用户指南中文版.doc
2019-10-08
Ceph存储管理指南中文版.pdf
2019-09-29
GlusterFS Distribution Model.pdf
2019-09-21
GlusterFS Performance.pdf
2019-09-21
GlusterFS Internals.pdf
2019-09-21
Proxmox5.4官方手册中文翻译版.doc
2019-09-20
napp-it ZFS Storage Server User Guide.pdf
2019-09-17
Proxmox VE 官方手册中文翻译版.doc
2019-09-17
LVM Thin Provisioning.pdf
2019-09-16
PROXMOX VE 6.0 ADMINISTRATION GUIDE.pdf
2019-09-15
AIX中配置防火墙策略.doc
2019-09-07
Red_Hat_Enterprise_Linux-7-Installation_Guide-zh-CN.doc
2019-09-06
Red_Hat_Enterprise_Linux-7-Security_Guide-zh-CN.doc
2019-09-06
KVM_Virtual_vs_Physical.pdf
2019-09-06
p6880880_112000_Linux-x86-64.zip11.2.0.3.10
2019-08-31
简单网络管理协议SNMP初学者指南.doc
2019-08-31
GBT22239-2019信息安全技术网络安全等级保护基本要求第三级安全要求表格.xls
2019-06-05
在CentOS 7上RPM安装Ansible AWX自动化运维管理系统
2019-05-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人