![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
letcode
文章平均质量分 58
bokerr
临渊羡鱼,不如退而结网。
展开
-
letcode-Z字变形
题目 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。 请你实现这个将字符串进行指定行数变换的函数: string convert(string s, int numRows); 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems原创 2021-10-28 00:52:42 · 166 阅读 · 0 评论 -
letcode-动态规划解最长回文子串(消去二维数组)
动态规划解最长回文子串题目解题思路最终代码 题目 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例 2: 输入:s = "cbbd" 输出:"bb" 示例 3: 输入:s = "a" 输出:"a" 示例 4: 输入:s = "ac" 输出:"a" 提示: 1 <= s.length <= 1000 s 仅由数字和英文字母(大写和/或小写)组成 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/原创 2021-10-26 23:56:46 · 118 阅读 · 0 评论 -
letcode-不含连续1的非负整数
不含连续1的非负整数 刚开始写了个暴力循环,发现计算到:1000000000 时超时了,然后自己单独计算发现需要4秒才能算完,那么O(n) 时间遍历肯定是不行了。 根据题目提示:二进制不包含连续1,那么应该使用动态规划。 动态规划的定义之一:将递归算法重新写为非递归算法,该非递归算法需要把递归算法过程中的子问题答案记录到一个表中。 根据该定义,我们对不同的位数的二进制数进行统计,有多少个合规数: 一、 1 位时:2个 0 1 二、 2位时:3个 00 01 10 三、 3位时:5个 000 001 01原创 2021-09-12 03:52:47 · 110 阅读 · 0 评论 -
letcode-《两数相加》
问题 ListNode是自定义链表,通过两个ListNode对象给定两个整数,计算他们的和,并以同样方式返回: 123 + 348 = 471 #mermaid-svg-Vh6jjJ2ZbzNzbQJB .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Vh6jjJ2ZbzNzbQJB .label text{f原创 2021-03-03 00:40:13 · 89 阅读 · 0 评论 -
letcode-《二维区域和检索 - 矩阵不可变》
问题 问题:给定一个二维数组,给定一个矩形框的左上角坐标(a1,a2),右下角坐标(b1,b2),计算该区域内数字之和。 解题思路 O(1) * (row2 - row1 + 1) * (col2 - col1 + 1); 数组已经是常数访问时间了,还有什么花哨的玩法么 代码 class NumMatrix { private int[][] matrix; public NumMatrix(int[][] matrix) { this.matrix = matrix;原创 2021-03-03 00:31:15 · 65 阅读 · 0 评论 -
letcode-《 无重复字符的最长子串》O(N)解法
解题思路 无重复字串,如果某个字串包含重复字符,那么直接不必考虑; 测试案例:abcabcbbb 1 初始化一个stringBuilder作为工作空间,一个String对象result保存中间步骤结果。 2 从字符串第一个字符开始,判断是否已经存在StringBuilder中; 3 如果不存在,将该判断位字符添加到StringBuilder; 4 如果已存在,判断是否需要导出StringBuilder到result,从重复字符开始裁剪StringBuilder; 例如:result="" StringB原创 2021-03-03 00:25:28 · 129 阅读 · 0 评论