
数据结构与算法
K-Stephen
热爱数据科学的超级英雄迷
展开
-
【面试题三】求一个数组中右边第一个比他大的数(单调栈)
def find_near_max(array): if not array: return [] stack = [] res_arr = [-1] * len(array) for i in range(len(array)): while stack and array[stack[-1]] < array[i]: ...原创 2019-11-12 20:34:25 · 467 阅读 · 0 评论 -
【面试题二】重复字符生成
def duplicate_string(string): """ 回溯法求解 """ if not string: return '' def backtrack(pre_ind=0, n=1, s=''): while pre_ind < len(string): if string[pr...原创 2019-11-07 21:03:41 · 163 阅读 · 0 评论 -
【面试题一】邻近重复字符串和字符子串剔除
邻近重复字符串和字符子串剔除 def char_duplicate(string): if not string: return [] output = [] last_chr = '' for i, char in enumerate(string): if char == last_chr: output...原创 2019-11-05 16:01:48 · 191 阅读 · 0 评论 -
十大经典排序算法Python版
import time def bubble_sort(array): t1 = time.clock() for i in range(len(array)): for j in range(len(array) - 1 - i): if array[j] > array[j + 1]: tmp ...原创 2019-10-28 21:27:39 · 131 阅读 · 0 评论 -
【LeetCode5】最长回文子串
1.题目描述 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 2.解法 解法一:马拉车算法 class Solution: def longestPalindrome(self, s:...原创 2019-10-21 16:08:15 · 133 阅读 · 0 评论 -
【LeetCode39】组合总和
1.题目描述 给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。 candidates中的数字可以无限制重复被选取。 说明: 所有数字(包括target)都是正整数。 解集不能包含重复的组合。 示例1: 输入: candidates = [2,3,6,7], target = 7...原创 2019-10-18 14:11:00 · 211 阅读 · 0 评论 -
【LeetCode17】电话号码的字母组合
1.题目描述 给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 2.解法 解法一:回溯法 class Solution: def lett...原创 2019-10-18 11:55:58 · 268 阅读 · 0 评论 -
【LeetCode22】括号生成
1.题目生成 给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出n = 3,生成结果为: [ "((()))", "(()())", "(())()", "()(())", "()()()" ] 2.解法 解法一:回溯法 class Solution: def generateParenthesis(...原创 2019-10-18 11:13:00 · 111 阅读 · 0 评论 -
【数据结构与算法1】动态规划
1.动态规划遵循一套固定的流程:递归的暴力解法-->带备忘录的递归解法-->非递归的动态规划解法 2.动态规划性质 (1)重叠子问题 (2)最优子结构 3.动态规划解题步骤 寻找最优子结构 构造状态转移方程 确定边界值 画出DP Table 编码 ...原创 2019-09-29 20:52:53 · 102 阅读 · 0 评论