7 王槿岩

学生身份

我要认证

爱好读书,运动;目前在学习算法,希望养成记录的好习惯,乐意结交朋友~~

等级
TA的排名 7w+

算法修炼之路——【字符串】Leetcode 824 山羊拉丁文

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给定一个由空格分隔单词的句子s。每个单词只包含大写或小写字母。我们要将句子转换为Goat Latin(一种类似于猪拉丁文-Pig Latin的虚构语言)。山羊拉丁文的规则如下:如果单词以元音开头(a, e, i, o, u),在单词后添加"ma";如单词apple变为applema;如果单词以辅音字母开头,移出第一个字符并将它放到末尾,之后再添加"ma"; 如单词goat变为oatgma;根据单词在句子中的索引,在单词最后添

2020-05-31 20:43:24

算法修炼之路——【字符串】Leetcode 819 最常见的单词

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给定一个段落(paragraph)和一个禁用单词列表(banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案不唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。示例1:输入: paragraph = “Bob hit a ball, the hit BALL flew far after it was hit.” , banned =

2020-05-30 13:07:26

源码探索—【go 线程池】ants笔记 1 (真正的小白学源码)

文章目录项目选择初期的迷惑项目选择关于开源项目或者源码学习,对于我们从事IT行业的同道人或者程序员们都是难以避开的一个话题。这里就来记录一下笔者对于开源项目学习的心得以及体会,此过程中由于没有前导师傅且是一个人的学习,所以思考以及叙述过程有所偏颇,还请观者见谅,并通过留言或者私信等不吝赐教~~笔者属于不聪明但是愿意花时间的“牛型”学习者,有时候习惯思考问题找到一个解决办法就好,先用着;对于“源码学习”这个话题,在网上(百度,知乎,以及一些更知名的程序员交流网站均有查阅)并没有找到笔者想要了解的知识,无

2020-05-23 21:32:31

算法修炼之路—【字符串】Leetcode 783 二叉搜索树节点最小距离

文章目录题目描述思路分析解题代码复杂度分析小结Github源码题目描述给定一个二叉搜索树的根节点root,返回树中任意两节点的差的最小值。示例1:输入: root = [4, 2, 6, 1, 3, null, null]输出: 1解释: 注意,root是树节点对象(TreeNode object),而不是数组。给定的树可表示为下图:最小的差值为1,它是节点1和节点2的差值,也是节点3和节点2的差值。注意:二叉树的大小范围在2到100;二叉树总是有效的,每个节点的值都是整数,且不

2020-05-23 12:09:51

算法修炼之路—【字符串】Leetcode 709 转换成小写字母

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述实现函数ToLowerCase(),该函数接收一个字符串参数str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例1:输入: “Hello”输出: “hello”示例2:输入: “here”输出: “here”示例3:输入: “Lovely”输出: “lovely”思路分析题目难度为简单 ,这里需要的就是遍历字符串,判定大写字母字符并转换成小写字母字符,这里唯一需要注意的一点是ASCII

2020-05-22 11:11:50

算法修炼之路—【树】Leetcode 100 相同的树

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1:输入: [1, 2, 3], [1, 2, 3]输出: true示例2:输入: [1, 2], [1, null, 2]输出: false示例3:输入: [1, 2, 1], [1, 1, 2]输出: false思路分析题目难度为简单 ,关于树这个数据结构的算法解用递归方式很容

2020-05-20 20:09:22

算法修炼之路—【字符串】Leetcode 696 计数二进制子串

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给定一个字符串s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例1:输入: s = “00110011”输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011”和“01”注意: 一些重复出现的子串要计算它们出现的次数。另外,“00110011”不是有效的子串,因为所有的0(和

2020-05-19 17:00:20

算法修炼之路—【字符串】Leetcode 686 重复叠加字符串匹配

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给定两个字符串A和B,寻找重复叠加字符A的最小次数,使得字符串B成为叠加后的字符串A的子串,如果不存在则返回-1.示例:输入: A = “abcd”, B = “cdabcdab”输出: 3解释: A重复叠加三遍后为"abcdabcdabcd",此时B是其子串; A 重复叠加两边后为“abcdabcd”,B并不是其子串。注意: A与B字符串的长度在1和10000区间范围内。思路分析题目难度为简单 ,这里简化题目意思就是输

2020-05-17 09:52:43

算法修炼之路—【字符串】Leetcode 680 验证回文字符串 II

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给定一个非空字符串s,最多删除一个字符。判断是否能成为回文字符串。示例1:输入: “aba"输出: True示例2:输入: “abca"输出: True解释: 你可以删除c字符。注意: 字符串只包含a-z的小写字母。字符串的最大长度是50000。思路分析题目难度为简单 ,这里的难点在判断删除字符后的判断,这里我们可以直接参考LeetCode125来参考简单回文字符串的判定;这里我们需要当检测到不等的字符串对时判

2020-05-15 11:51:55

算法修炼之路—【字符串】Leetcode 657 机器人能否返回原点

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述在二维平面上,有一机器人从原点(0,0)开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0,0)处结束。移动顺序由字符串表示。字符move[i] 表示其第i次移动。机器人的有效动作有R(右),L(左),U(上)和D(下)。如果机器人在完成所有动作后返回原点,则返回true。否则,返回false。注意: 机器人“面朝”的方向无关紧要。"R"将始终使机器人向右移动一次,"L"将始终使机器人向左移动等。此外,假设每次移动机器人的移

2020-05-15 10:29:15

算法修炼之路—【字符串】Leetcode 606根据二叉树创建字符串

文章目录题目描述思路分析递归迭代解题代码1. 递归2. 迭代复杂度分析Github源码题目描述你需要采用前序遍历的方式,讲一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号"()"表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例1:输入: 二叉树:[1, 2, 3, 4]输出: “1(2(4))(3)”解释: 原本将是“1(2(4)())(3())”,在省略不必要的空括号之后,它将是"1(2(4))(3)"。示例2:输入: 二叉

2020-05-14 12:19:04

算法修炼之路—【字符串】Leetcode 557 反转字符串中的单词 II

文章目录题目描述思路分析解题代码1复杂度分析Github源码题目描述给定一个字符来,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例1:输入: s= “Let’s take Leetcode contest”输出: “s’teL ekat edocteeL tsetnoc”注意: 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。思路分析难度是简单 ,我们需要对输入字符串进行至少一次的遍历,来完成一下功能:根据空字符来分片,每一片为一个单

2020-05-13 10:29:45

算法修炼之路—【字符串】Leetcode 551 学生出勤记录 I

文章目录题目描述思路分析解题代码1复杂度分析解题代码2进阶复杂度分析Github源码题目描述给定一个字符来代表一个学生的出勤记录,这个记录仅包含以下三个字符:A : Absent, 缺勤;L : Late,迟到;P : Present,到场;如果一个学生的出勤记录中不超过一个A 并且不超过两个连续的L(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤记录判断他是否会被奖赏。示例1:输入: s= “PPALLP”输出: True示例1:输入: s= “PPALLL”输

2020-05-12 10:04:27

算法修炼之路—【字符串】Leetcode 541 反转字符串II

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给定一个字符和一个整数k,你需要对从字符开头算起的每个2k个字符的前k个字符反转。如果剩余少于k个字符,则将剩余的所有全部反转;如果有小于2k但大于等于k个字符,则反转前k个字符,并将剩余的字符保持原样。示例1:输入: s= “abcdefg”, k = 2输出: “bacdfeg”要求:该字符串只包含小写的英文字母;给定字符串的长度和k在[1, 10000]范围内;思路分析难度是简单 ,这道题感觉没有什么营养,

2020-05-11 11:00:16

算法修炼之路—【字符串】Leetcode 521 最长特殊序列I

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给你两个字符串,请你从这两个字符串中找出最长的特殊序列。最长特殊序列 定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)子序列 可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回-1.示例1:输入: a = “aba”, b = “cdc”输出: 3解释: 最长特殊序列可

2020-05-10 11:20:47

算法修炼之路—【字符串】Leetcode 520 检测大写字母

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是否正确:全部字母都是大写,比如“USA”;单词中所有字母都不大写,比如"leetcode";如果单词不只含有一个字母,只有首字母大写,比如"Google";否则,我们定义这个单词没有正确使用大写字母。示例1:输入: “USA”输出: True示例2:输入: “FlaG”输出: False注意:输入是由大写和小写拉丁

2020-05-09 11:28:43

算法修炼之路—【字符串】Leetcode 459 重复的子字符串

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述给定一个非空的字符串,判定它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不会超过10000。示例1: :输入: “abab”输出: True解释: 可由子字符串“ab”重复两次构成。示例2: :输入: “aba”输出: False示例3: :输入: “abcabcabc...

2020-05-08 10:39:19

算法修炼之路—【字符串】Leetcode 434 字符串中的单词数

文章目录题目描述思路分析解题代码复杂度分析Github源码题目描述统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例: :输入: “Hello, my name is John”输出: 5解释: 这里的单词是指连续的不是空格的字符,所以“Hello,”算作一个单词。思路分析难度是简单 ,我们直接遍历即可,这里...

2020-05-07 10:45:47

算法修炼之路—【字符串】Leetcode 415 字符串相加

文章目录题目描述思路分析数据结构选择字符前后的确定解题代码复杂度分析Github源码题目描述给定两个字符串形成的非负整数num1 和 num2,计算它们的和。注意: :num1 和 num2 的长度都小于5100;num1 和 num2 都质保函数字0-9;num1 和 num2 都不包含任何前导零;你不能使用任何BigInteger库,也不能直接将输入的字符转换为整数形式;案...

2020-05-06 11:45:07

算法修炼之路—【字符串】Leetcode 387 字符串中的第一个唯一字符

文章目录题目描述思路分析数据结构选择字符前后的确定解题代码复杂度分析Github源码题目描述给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回-1.案例:s = “leetcode”返回0s = “loveleetcode”返回0注意: 字符中均为小写字母。思路分析难度是简单 ,这里需要遍历并保存遍历足迹,由于历史足迹保存,则需要对辅助容器进行选...

2020-05-05 10:24:21

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取