![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法实战
文章平均质量分 70
喜欢下雨所以爱上雷震子
情感博主一只
展开
-
LeetCode 每日一题 87. 扰乱字符串
87. 扰乱字符串使用下面描述的算法可以扰乱字符串 s 得到字符串 t :如果字符串的长度为 1 ,算法停止如果字符串的长度 > 1 ,执行下述步骤:在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y 。随机 决定是要「交换两个子字符串」还是要「保持这两个子字符串的顺序不变」。即,在执行这一步骤之后,s 可能是 s = x + y 或者 s = y + x 。在 x 和 y 这两个子字符串上继原创 2021-04-16 23:40:33 · 144 阅读 · 0 评论 -
LeetCode 每日一题338. 比特位计数
338. 比特位计数给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer)) 的解答非常容易。但你可以在线性时间 O(n) 内用一趟扫描做到吗?要求算法的空间复杂度为 O(n)。你能进一步完善解法吗?要求在C++或任何其他语言中不使用任何内置函数(如原创 2021-03-03 13:29:41 · 94 阅读 · 0 评论 -
LeetCode 每日一题1178. 猜字谜
1178. 猜字谜外国友人仿照中国字谜设计了一个英文版猜字谜小游戏,请你来猜猜看吧。字谜的迷面 puzzle 按字符串形式给出,如果一个单词 word 符合下面两个条件,那么它就可以算作谜底:单词 word 中包含谜面 puzzle 的第一个字母。单词 word 中的每一个字母都可以在谜面 puzzle 中找到。例如,如果字谜的谜面是 "abcdefg",那么可以作为谜底的单词有 "faced", "cabbage", 和 "baggage";而 "beefed"(不含字母 "a")以及 "b原创 2021-02-26 13:44:33 · 324 阅读 · 3 评论 -
LeetCode 每日一题995. K 连续位的最小翻转次数
995. K 连续位的最小翻转次数在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。返回所需的 K 位翻转的最小次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。示例 1:输入:A = [0,1,0], K = 1输出:2解释:先翻转 A[0],然后翻转 A[2]。示例 2:输入:A = [1,1,0], K = 2输出:-1解释:无论我们怎样翻转大小为 2 的子数组,原创 2021-02-18 14:08:48 · 100 阅读 · 0 评论 -
LeetCode 每日一题1631. 最小体力消耗路径
1631. 最小体力消耗路径你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (row, col) 的高度。一开始你在最左上角的格子 (0, 0) ,且你希望去最右下角的格子 (rows-1, columns-1) (注意下标从 0 开始编号)。你每次可以往 上,下,左,右 四个方向之一移动,你想要找到耗费 体力 最小的一条路径。一条路径耗费的 体力值 是路径上相邻格子之间 高度差绝对值 的 最大值 决定的。原创 2021-01-29 17:16:33 · 451 阅读 · 4 评论 -
LeetCode 每日一题959. 由斜杠划分区域
959. 由斜杠划分区域在由 1 x 1 方格组成的 N x N 网格 grid 中,每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。(请注意,反斜杠字符是转义的,因此 \ 用 "\\" 表示。)。返回区域的数目。示例 1:输入:[ " /", "/ "]输出:2解释:2x2 网格如下:示例 2:输入:[ " /", " "]输出:1解释:2x2 网格如下:示例 3:输入:[ "\\/", "/\\"原创 2021-01-25 13:24:26 · 273 阅读 · 0 评论 -
LeetCode每日一题925:长按键入
你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例1:输入:name = “alex”, typed = “aaleex”输出:true解释:‘alex’ 中的 ‘a’ 和 ‘e’ 被长按。示例 2:输入:name = “saeed”, typed = “ssaaedd”输出:false解释:.原创 2020-10-21 21:03:22 · 169 阅读 · 0 评论 -
LeetCode每日一题143:重排链表
给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3./** * 节点类 */public static.原创 2020-10-21 15:56:10 · 355 阅读 · 0 评论 -
Leetcode第三题:无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。so原创 2020-10-02 23:06:50 · 155 阅读 · 0 评论 -
12个高矮不同的人,排成两排,逐步推导卡特兰数(Catalan)
12个高矮不同的人,排队问题。引出卡特兰数(Catalan)。等价问题1等价问题2【解法】传闻是【阿里巴巴笔试题】:12 个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?网上看了很多解答,但理解起来仍然费劲。索性自己动手,加强记忆。本文用2次 “等价证明” 将答案引到卡特兰数。不正之处,欢迎指出。等价问题1由6个0和6个1组成一个12位的二进制数,要求从左到右扫描,任意位置,0的累计数都不小于1的累计数,求满足条件的组合有多少种。【证原创 2020-07-01 23:21:30 · 2139 阅读 · 0 评论 -
Leetcode题:两数相加
LeeCode第二题,难度中等给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输...原创 2019-06-06 22:15:39 · 103 阅读 · 0 评论 -
Leetcode题:两数之和
“ 入坑算法已经有段时间了。写在这里,一是为了加深理解,二是希望帮助到刚接触的小伙伴,共同努力。”两数之和,LeeCode上第一题,超级经典的算法题。算法题里的“Hello World!”。给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素...原创 2019-06-06 21:41:27 · 416 阅读 · 0 评论