- 博客(64)
- 资源 (2)
- 收藏
- 关注
原创 主从复制实现Redis集群
用两种方式通过主从复制来实现Redis的集群, 可以通过这篇小文章, 快速学习和了解主从复制模式以及搭建Redis集群。希望大家喜欢~
2024-02-26 23:47:02
304
原创 背包问题学习
上述介绍了常见的三种背包问题的思路和基础代码模板以及相应的优化。希望各位大佬能够给予指导以及相应的意见, 后续时间也会取更新更多更丰富的算法内容, 谢谢~
2023-12-05 17:41:20
1188
原创 半数集问题 (非递归&递归版本)
什么是半数集? 本文介绍了本数集的两种求法, 递归和非递归. 其中非递归的写法相对少见。使用了一个队列, 一个数组容器来进行代替
2023-11-02 21:50:22
607
原创 Java 8 新特性 Ⅲ
这篇文章是介绍 Java8 新特性的最后一篇文章了, 结合代码讲了 Stream以及其操作的全流程步骤, 希望能够帮助大家。同时也是希望大佬能够给予批评指导。
2023-10-24 16:58:14
106
原创 Java 8 新特性 Ⅱ
主要是简单介绍并用代码使用了Java 8的一些新特性, 方法引用, 构造器引用, 数组引用。接下来会更新关于Java8 另外一些新特性的知识学习。 希望大佬们能够多提点指导, 谢谢!
2023-10-22 10:41:01
118
原创 Java 8 新特性 Ⅰ
简要的介绍了Java8的新特性,主要是lambda 表达式在6种不同情况下的用法。后面还会继续更新Java8的新特性的介绍.
2023-10-21 22:03:42
393
原创 Z 字形变换
题目:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。思路: 通过计算 当 i/(numRows-1) 为偶数时 竖着存储字符, 当为奇数时 沿斜向右上存储。而每次存储的位置由 i%(numRows-1)来决定class Solution {public: string convert(string s, int numRows) { string ret; if(s == ""|| numR
2022-03-01 15:54:36
178
1
原创 1528. 重新排列字符串
题目:给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。示例 1:输入:s = “codeleet”, indices = [4,5,6,7,0,2,1,3]输出:“leetcode”解释:如图所示,“codeleet” 重新排列后变为 “leetcode” 。示例 2:输入:s = “abc”, indices = [0,1,2]输出:“abc.
2022-01-07 22:12:54
347
原创 1243. 数组变换
题目:首先,给你一个初始数组 arr。然后,每天你都要根据前一天的数组生成一个新的数组。第 i 天所生成的数组,是由你对第 i-1 天的数组进行如下操作所得的:假如一个元素小于它的左右邻居,那么该元素自增 1。假如一个元素大于它的左右邻居,那么该元素自减 1。首、尾元素永不改变。过些时日,你会发现数组将会不再发生变化,请返回最终所得到的数组。示例 1:输入:[6,2,3,4]输出:[6,3,3,4]解释:第一天,数组从 [6,2,3,4] 变为 [6,3,3,4]。无法再对该数组
2022-01-07 22:02:22
436
原创 154. 寻找旋转排序数组中的最小值 II
题目:已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,4]若旋转 7 次,则可以得到 [0,1,4,4,5,6,7]注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]] 。给你一个可能存在重复元素值的数组
2022-01-07 21:54:49
66
原创 240. 搜索二维矩阵 II
题目:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。试例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true试例 2:输入:matrix = [[1,4,7,11,15],[2,5,8,12,
2022-01-07 21:42:53
602
原创 245. 最短单词距离 III
题目:给定一个字符串数组 wordsDict 和两个字符串 word1 和 word2 ,返回列表中这两个单词之间的最短距离。示例 :输入:wordsDict = [“practice”, “makes”, “perfect”, “coding”, “makes”], word1 = “makes”, word2 = “coding”输出:1word1 = “makes”, word2 = “makes”输出:3注意:word1 和 word2 是有可能相同的,并且它们将分别表示为列表.
2022-01-07 21:27:53
371
原创 243. 最短单词距离
题目 :给定一个单词列表和两个单词 word1 和 word2,返回列表中这两个单词之间的最短距离。示例:假设 words = [“practice”, “makes”, “perfect”, “coding”, “makes”]输入: word1 = “coding”, word2 = “practice”输出: 3输入: word1 = “makes”, word2 = “coding”输出: 1注意:你可以假设 word1 不等于 word2, 并且 word1 和 wor.
2022-01-07 21:20:41
306
原创 1614. 括号的最大嵌套深度
✔ 1.7 每日一题题目:如果字符串满足以下条件之一,则可以称之为 有效括号字符串:字符串是一个空字符串 “”,或者是一个不为 “(” 或 “)” 的单字符。字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是 有效括号字符串字符串可以写为 (A),其中 A 是一个 有效括号字符串 。类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S):depth("") = 0depth© = 0,其中 C 是单个字符的字符串,且该字符不是 “(” 或者 “)”de
2022-01-07 21:15:56
264
原创 71. 简化路径
✔每日一题题目:给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,’//’)都被视为单个斜杠 ‘/’ 。 对于此问题,任何其他格式的点(例如,’…’)均被视为文件/目录名称。请注意,返回的 规范路径 必须遵循下述格式:始终以斜杠
2022-01-06 13:26:08
71
原创 125. 验证回文串
题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true解释 “amanaplanacanalpanama” 是回文串示例 2:输入: “race a car”输出: false解释:“raceacar” 不是回文串此题主要是熟悉字符串相关的api函数的使用. 例如 isalpha() 判断一个字符是
2022-01-06 12:22:40
387
原创 5. 最长回文子串
题目(短小而精炼~):给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”有两个想法: 一个是参考647.回文子串选出回文子串的类似思路 来使用双指针来获取最长的回文子串; 二是使用动态规划进行求解法一 :(双指针)class Solu
2022-01-05 21:50:11
362
原创 516. 最长回文子序列
题目:给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。示例 1:输入:s = “bbbab”输出:4解释:一个可能的最长回文子序列为 “bbbb” 。示例 2:输入:s = “cbbd”输出:2解释:一个可能的最长回文子序列为 “bb” 。借鉴东哥的思路, 使用二维的dp数组进行处理。此题可以把问题归结为若要求dp[i][j](i,j 分别是字符串的位置, 下标) 即求子
2022-01-05 21:26:54
84
原创 647. 回文子串
题目给你一个字符串 s ,请你统计并返回这个字符串中回文子串的数目。回文字符串:是正着读和倒过来读一样的字符串。子字符串: 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1:输入:s = “abc”输出:3解释:三个回文子串: “a”, “b”, “c”示例 2:输入:s = “aaa”输出:6解释:6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”思路: 试着找
2022-01-05 17:47:24
267
原创 剑指 Offer 58 - II. 左旋转字符串
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2输出: “cdefgab”示例 2:输入: s = “lrloseumgh”, k = 6输出: “umghlrlose”题意不难理解即将前n个字符放在最后, 形成一个新的字符串.做法有两个: 一是另外申请空间, 用来存储输.
2022-01-05 13:09:58
78
原创 1576. 替换所有的问号
给你一个仅包含小写英文字母和 ‘?’ 字符的字符串 s,请你将所有的 ‘?’ 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。注意:你不能修改非 ‘?’ 字符。题目测试用例保证 除’?'字符 之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。示例 1:输入:s = “?zs”输出:“azs”解释:该示例共有 25 种解决方案,从 “azs” 到 “yzs” 都.
2022-01-05 12:58:40
92
原创 142. 环形链表 II
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。示例1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解.
2022-01-04 18:15:17
66
原创 141. 环形链表
给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true
2022-01-04 18:01:38
98
原创 2. 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9].
2022-01-04 17:06:59
72
原创 506. 相对名次
给你一个长度为 n 的整数数组 score ,其中 score[i] 是第 i 位运动员在比赛中的得分。所有得分都 互不相同 。运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高,名次第 2 的运动员得分第 2 高,依此类推。运动员的名次决定了他们的获奖情况:名次第 1 的运动员获金牌 “Gold Medal” 。名次第 2 的运动员获银牌 “Silver Medal” 。名次第 3 的运动员获铜牌 “Bronze Medal” 。从名次第 4 到第 n 的运动员,只能获得他们的.
2022-01-04 16:39:49
69
原创 打家劫舍 II
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。示例 1:输入:nums = [2,3,2]输出:3解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻
2021-12-25 12:12:56
472
原创 打家劫舍Ⅰ
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:[2,7,9,
2021-12-25 11:56:29
47
原创 找出一堆数字中只出现过一次的数字
题目概述输入5个数,其中2个数出现2次,1个数是出现1次,找出出现1次的那个数,例如输入的是8 5 3 5 8,输出的值为3输入:8 5 3 5 8输出:3思路分析:主要考查的是位运算当中的异或操作。异或的运算规则为: :0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(两数相同结果为0,两数相异结果为1)因此我们可以利用这个特性来找出只出现过一次的数字。因为数字出现两次以上的通过异或运算之后都会变成0的~#define _CRT_SECURE_NO_WARNINGS#include&
2021-11-29 22:58:09
1525
原创 102. 二叉树的层序遍历
给你一个二叉树,请你返回其按**层序遍历**得到的节点值。(即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层序遍历结果:[ [3], [9,20], [15,7]]思路为: 使用一链表队列来进行层次遍历 遍历完每一层之后(用一数组暂存结果) 才遍历下一层. (运用队列链表来实现dfs)vector<vector<int>
2021-11-09 08:57:36
75
原创 在 Win10 上简易安装Docker Desktop
win10安装docker机器默认开启虚拟化然后以管理员身份运行PowerShell 控制台, 并输入Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All去官网下载 Docker Desktop 官网下载地址下载完成, 即可安装 (初次安装, 会重启的)重启后, 可以打开安装好的 Docker Desktop以管理员的身份开启powershell输入命令
2021-10-15 16:54:33
419
原创 14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。思路: 先处理一些比较特殊的情况 (字符串只有一个或者没有等情况), 然后对字符串进行排序, 此时strs[0] 就是最短的字符串。然后循环最短字符串的每个字符 对于遍历此外的..
2021-10-10 21:47:11
62
原创 482. 密钥格式化
有一个密钥字符串 S ,只包含字母,数字以及 '-'(破折号)。其中, N 个 '-' 将字符串分成了 N+1 组。给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。**特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符**。两个分组之间需要用 '-'(破折号)隔开,并且将所有的小写字母转换为大写字母。给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。示例 1:输入:S = "5F3Z-2e-9-w", K = 4输出:"5F3
2021-10-04 12:06:14
60
原创 1048 数字加密 (20 分)
本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式:输入在一行中依次给出 A 和 B,均为不超过 100 位的正整数,其间以空格分隔。输出格式:在一行中输出加密后的结果。输入样例:1234567
2021-09-27 12:57:01
43
原创 1051 复数乘法 (15 分)
复数可以写成(A+Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2=−1;也可以写成极坐标下的指数形式(R×e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式R(cos(P)+isin(P))。现给定两个复数的R和P,要求输出两数乘积的常规形式。输入格式:输入在一行中依次给出两个复数的R1,P1,R2,P2,数字间以空格分隔。输出格式:在一行中按照A+Bi的格式输出两数乘积的常规形式,实部和虚部均保留...
2021-09-27 11:12:37
123
原创 1047 编程团体赛 (20 分)
编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。输入格式:输入第一行给出一个正整数N(≤104),即所有参赛队员总数。随后N行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩,其中队伍编号为 1 到 1000 的正整数,队员编号为 1 到 10 的正整数,成绩为 0 到 100 的整数。输出格式:在一行中输出冠军队的编号和总成绩,其间以一个空格分隔。注意:题...
2021-09-26 23:39:54
206
原创 58. 最后一个单词的长度
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = "Hello World"输出:5示例 2:输入:s = " fly me to the moon "输出:4示例 3:输入:s = "luffy is still joyboy"输出:6我这里有两种做法, 其实最后殊途同归, 都是找空格的位置。法一, 就是倒序来遍历字符串, 但是要...
2021-09-25 17:12:17
137
2
原创 14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。主要思路就是 那第一个strs[0] 作为一个参考物, 遍历后面字符串的每个字符进行比较。直到找到不相等的,就返回相应长度的字符串class Solution {public:..
2021-09-25 17:00:03
48
往数组中插入数据.md
2020-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人