
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 · 200 阅读 · 0 评论 -
letcode-动态规划解最长回文子串(消去二维数组)
动态规划解最长回文子串题目解题思路最终代码题目示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"示例 3:输入:s = "a"输出:"a"示例 4:输入:s = "ac"输出:"a"提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成来源:力扣(LeetCode)链接:https://leetcode-cn.com/原创 2021-10-26 23:56:46 · 158 阅读 · 0 评论 -
letcode-不含连续1的非负整数
不含连续1的非负整数刚开始写了个暴力循环,发现计算到:1000000000 时超时了,然后自己单独计算发现需要4秒才能算完,那么O(n) 时间遍历肯定是不行了。根据题目提示:二进制不包含连续1,那么应该使用动态规划。动态规划的定义之一:将递归算法重新写为非递归算法,该非递归算法需要把递归算法过程中的子问题答案记录到一个表中。根据该定义,我们对不同的位数的二进制数进行统计,有多少个合规数:一、 1 位时:2个01二、 2位时:3个000110三、 3位时:5个00000101原创 2021-09-12 03:52:47 · 159 阅读 · 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 · 111 阅读 · 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 · 86 阅读 · 0 评论 -
letcode-《 无重复字符的最长子串》O(N)解法
解题思路无重复字串,如果某个字串包含重复字符,那么直接不必考虑;测试案例:abcabcbbb1 初始化一个stringBuilder作为工作空间,一个String对象result保存中间步骤结果。2 从字符串第一个字符开始,判断是否已经存在StringBuilder中;3 如果不存在,将该判断位字符添加到StringBuilder;4 如果已存在,判断是否需要导出StringBuilder到result,从重复字符开始裁剪StringBuilder;例如:result="" StringB原创 2021-03-03 00:25:28 · 158 阅读 · 0 评论