无重复字符的最长子串及最小覆盖子串(滑动窗口法)算法详解

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入:...

重建二叉树算法详解

输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。   例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder =...

c++引用和运算符重载思考详解

c++中,引用其实还是靠指针实现的 为什么要引入引用呢? c++之父说,最初是为了实现运算符重载 方便,下面举个例子 例如 c =a +b是可以接受的写法, 而c =&a +&b 就不是很方便而且有歧义了  ...

最长有效括号算法详解

给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2: 输入: ")()())"输出:...

字符串解码算法详解

给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符...

java 获取两个日期间相差的天数详解

package com.demo; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; pub...

岛屿数量算法详解

给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入:1111011010110...

编辑距离算法详解

给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个...

单词的压缩编码算法详解

给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 index...

盛最多水的容器算法详解

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中...