
LeetCode
comli_cn
算法工程师,微信公众号:李歪理
展开
-
LeetCode:22. 括号生成
LeetCode:括号生成 问题描述 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。 示例: 输入:n = 3 输出:[ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ] 解题 方法一:暴力破解 (1)生成所有序列 利用递归生成所有序列,下图有助于理解生成过程:ter) 通过递归生成序列的过程就是对树的...原创 2020-05-08 15:27:42 · 286 阅读 · 0 评论 -
3道题彻底搞定:套路解决递归问题
前言 相信不少同学和我一样,在刚学完数据结构后开始刷算法题时,遇到递归的问题总是很头疼,而一看解答,却发现大佬们几行递归代码就优雅的解决了问题。从我自己的学习经历来看,刚开始理解递归思路都很困难,更别说自己写了。 我一直觉得刷算法题和应试一样,既然是应试就一定有套路存在。在刷题中,我总结出了一套解决递归问题的模版思路与解法,用这个思路可以秒解很多递归问题。 递归解题三部曲 何为递归?程序反复调用自...转载 2020-05-07 22:20:07 · 275 阅读 · 0 评论 -
LeetCode:三数之和&四数之和
1.方法概述 (1)前期处理 三数之和用三个指针,四数之和用四个指针,最开始都要进行从小到大的排序。 (2)粗处理 编写三数之和的时候第一个指针刚开始指向所给数组的第一个元素;第二个指针记为L指针,初始指向第一个指针所指元素的下一个元素;第三个指针记为R,初始指向所给数组的最后一个元素。当这三个指针所指元素之和小于target时L向右移一位,这样就使三个元素的和变大了;当这三个指针所指元素之和大于...原创 2020-04-21 22:08:17 · 247 阅读 · 0 评论 -
LeetCode:Z字形变换
问题描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。(输入字符串s和行数numRows,按新的顺序输出) 例如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 方法一:找规律 1.模块化 我们可以从上面例子的形式看出由于这些Z是重叠的,所以我们可以把...原创 2020-03-12 17:33:23 · 174 阅读 · 0 评论 -
LeetCode:最长回文子串程序
问题描述:给定一个字符串 s,找到 s 中最长的回文子串。 中心扩展算法(Python) class Solution: def longestPalindrome(self, s): if s == "" or len(s)<1: return "" start = 0 end = 0 for i in range(0,len(s...原创 2020-03-09 16:39:02 · 115 阅读 · 0 评论