面试经典-字母异位词分组
字母异位词分组题目49. 字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 12输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["nat","tan"],["ate","eat","tea"]] 示例 2: 12输入: strs = [""]输出: [[""]] 示例 3: 12输入: strs = ["a"]输出: [["a"]] 提示: 1 <= strs.length <= 104 0 <= strs[i].length <...
面试经典-有效的字母异位词
有效的字母异位词题目242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的 字母异位词。 字母异位词 字母异位词是通过重新排列不同单词或短语的字母而形成的单词或短语,并使用所有原字母一次。 示例 1: 12输入: s = "anagram", t = "nagaram"输出: true 示例 2: 12输入: s = "rat", t = "car"输出: false 提示: 1 <= s.length, t.length <= 5 * 104 s 和 t 仅包含小写字母 进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况? 题解题解一 按照同一规则排序后比较是否相同 12345678910public boolean isAnagram(String s, String t) { if (s.length() != t.length()) { ret...
面试经典-无重复字符的最长子串
无重复字符的最长子串题目3. 无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 123输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 123输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 1234输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。 提示: 0 <= s.length <= 5 * 104 s 由英文字母、数字、符号和空格组成 题解 使用滑动窗口方法,挺简单的 12345678910111213141516public static int length...
面试经典-单词规律
单词规律题目290. 单词规律 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 示例1: 12输入: pattern = "abba", s = "dog cat cat dog"输出: true 示例 2: 12输入:pattern = "abba", s = "dog cat cat fish"输出: false 示例 3: 12输入: pattern = "aaaa", s = "dog cat cat dog"输出: false 提示: 1 <= pattern.length <= 300 pattern 只包含小写英文字母 1 <= s.length <= 3000 s 只包含小写英文字母和 ' ' s 不包含 任何前导或尾随对空格 s 中每个单词...
面试经典-同构字符串
同构字符串题目205. 同构字符串 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。 示例 1: 12输入:s = "egg", t = "add"输出:true 示例 2: 12输入:s = "foo", t = "bar"输出:false 示例 3: 12输入:s = "paper", t = "title"输出:true 提示: 1 <= s.length <= 5 * 104 t.length == s.length s 和 t 由任意有效的 ASCII 字符组成 题解 和 290. 单词规律 同样的解法 1234567891011121314151617public static boolean...
面试经典-赎金信
赎金信383. 赎金信 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 12输入:ransomNote = "a", magazine = "b"输出:false 示例 2: 12输入:ransomNote = "aa", magazine = "ab"输出:false 示例 3: 12输入:ransomNote = "aa", magazine = "aab"输出:true 提示: 1 <= ransomNote.length, magazine.length <= 105 ransomNote 和 magazine 由小写英文字母组成 题解题解一(暴力法)123456789101112131415161718...
Docker中卷的挂载方式
Docker中卷的挂载方式 docker 中卷常见有三种挂载方式 卷挂载方式1. 挂载主机目录1docker run -d -P -v /root/html:/usr/share/nginx/html --name=nginx777 nginx 2. 指定卷名称挂载1docker run -d -P -v nginxhtml:/usr/share/nginx/html --name=nginx777 nginx 3. 匿名卷挂载1docker run -d -P -v /usr/share/nginx/html --name=nginx777 nginx 总结 匿名卷挂载,docker会自动创建一个匿名卷,挂载到容器中,容器退出后,匿名卷会自动删除。 指定卷名称挂载,docker会自动创建一个指定名称的卷,挂载到容器中,容器退出后,卷不会自动删除。 挂载主机目录,docker会挂载主机目录到容器中,容器退出后,挂载的主机目录不会自动删除。 通常情况下,我们一般会使用挂载主机目录的方式,因为容器退出后,挂载的主机目录不会自动删除。比如logs日志,配置文件等。
面试经典-长度最小的子数组
长度最小的子数组题目209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 123输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。 示例 2: 12输入:target = 4, nums = [1,4,4]输出:1 示例 3: 12输入:target = 11, nums = [1,1,1,1,1,1,1,1]输出:0 提示: 1 <= target <= 109 1 <= nums.length <= 105 1 <= nums[i] <= 104 进阶: 如果你已经实现 O(n) 时间复杂度的解法, 请尝试设计一个 O(n log(n)) 时间复杂度的解法。 题解题解一(暴力法)123456...
Dccokerfile简介
Dccokerfile简介
Docker命令回顾及构建一个镜像
Docker命令回顾及构建一个镜像一、命令回顾以及截图12# 查看所有镜像docker images 12# 查看运行着的容器docker ps 12# 显示所有容器,包括停止的容器docker ps -a 12# 不截断显示docker ps -a --no-trunc 12345# 拉去镜像docker pull redis:latest# 拉去指定仓库镜像docker pull registry.cn-hangzhou.aliyuncs.com/loltoulan-dcoker/loltoulan:v5 12# 停止运行着的镜像,优雅停机,当前正在运行中的程序处理完所有事情后再停止docker stop 0e6 1234567891011121314# 停止指定镜像docker stop f2e893be37ff# 停止指定Id的镜像docker stop 6d683af76818 0d1af0053ed4# 停止所有镜像docker stop $(docker ps -aq)# 停止镜像名为 redis的所有镜像docker stop $(d...
Hexo相关快捷键
Hexo相关快捷键 快速清理删除运行 1hexo clean && hexo g && hexo s 在某一个文件夹下创建文章 12345678910hexo new -p "Hexo探索/Hexo相关快捷键"hexo new -p "编程技术/Java/Java知识点回顾/Java-SpringCloud框架组件梳理"hexo new -p "编程技术/Java/Java知识点回顾/Java并发编程面试题"hexo new -p "编程技术/算法模块/leetcode每日一题/3005-统计定界子数组的数目"hexo new -p "编程技术/AI/大模型部署实战" 加载番剧数据 1hexo bangumi -u
面试经典-三数之和
面试经典-三数之和题目15. 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1: 12345678输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]解释:nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0 。nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0 。nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0 。不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。注意,输出的顺序和三元组的顺序并不重要。 示例 2: 123输入:nums = [0,1,1]输出:[]解释:唯一可能的三元组和不为 0 。 ...
面试经典-文本左右对齐
文本左右对齐题目68. 文本左右对齐 给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。 要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。 文本的最后一行应为左对齐,且单词之间不插入额外的空格。 注意: 单词是指由非空格字符组成的字符序列。 每个单词的长度大于 0,小于等于 maxWidth。 输入单词数组 words 至少包含一个单词。 示例 1: 1234567输入: words = ["This", "is", "an", "example", "of", "text", "justification."],...
面试经典-盛最多水的容器
盛最多水的容器题目11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 1: 输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。 示例 2: 输入:height = [1,1]输出:1 提示: n == height.length 2 <= n <= 105 0 <= height[i] <= 104 题解题解一(暴力求解)12345678910public static int maxArea(int[] height) { int max = 0; for (int i = 0; i < height.length; i++)...
面试经典-两数之和II_输入有序数组
两数之和II_输入有序数组题目167. 两数之和 II - 输入有序数组 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length 。 以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。 你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。 你所设计的解决方案必须只使用常量级的额外空间。 示例 1: 输入:numbers = [2,7,11,15], target = 9输出:[1,2]解释:2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。 示例 2: 输入:numbers = [2,3,4]...
面试经典-判断子序列
面试经典-判断子序列题目详情392. 判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 进阶: 如果有大量输入的 S,称作 S1, S2, … , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码? 示例 1: 输入:s = “abc”, t = “ahbgdc”输出:true 示例 2: 输入:s = “axc”, t = “ahbgdc”输出:false 提示: 0 <= s.length <= 100 0 <= t.length <= 10^4 两个字符串都只由小写字符组成。 题解12345678910111213141516171819202122public static boo...
面试经典-验证回文串
面试经典-验证回文串题目详情125. 验证回文串 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。 示例 1: 输入: s = “A man, a plan, a canal: Panama”输出:true解释:”amanaplanacanalpanama” 是回文串。 示例 2: 输入:s = “race a car”输出:false解释:”raceacar” 不是回文串。 示例 3: 输入:s = “ “输出:true解释:在移除非字母数字字符之后,s 是一个空字符串 “” 。由于空字符串正着反着读都一样,所以是回文串。 提示: 1 <= s.length <= 2 * 105 s 仅由可打印的 ASCII 字符组成 题解 比较简单,建议直接AC 12345678910111213public static boolea...
找出字符串中第一个匹配项的下标
找出字符串中第一个匹配项的下标 题目详解28. 找出字符串中第一个匹配项的下标 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入:haystack = “sadbutsad”, needle = “sad”输出:0解释:”sad” 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0 。 示例 2: 输入:haystack = “leetcode”, needle = “leeto”输出:-1解释:”leeto” 没有在 “leetcode” 中出现,所以返回 -1 。 提示: 1 <= haystack.length, needle.length <= 104 haystack 和 needle 仅由小写英文字符组成 题解暴力求解发12345678910111213141516171819...
初识Jenkins
初识Jenkins一、安装Jenkins123docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jenkins/jenkins:2.482-slim-jdk17docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jenkins/jenkins:2.482-slim-jdk17 jenkins/jenkins-jdk17:v2.482 12345678910docker run \ -u root \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /etc/localtime:/etc/localtime:ro \ -v /var/run/docker.sock:/var/run/docker.sock \ --restart=always \ jenkins/jenkins-jdk17:v2.482 二、...
