![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
【数据结构与算法】LT刷题
文章平均质量分 92
本专栏结合leetcode上的具体代码进行分享,针对其中的算法进行总结和归纳。
越吃越胖
学
展开
-
Python_回溯算法总结与LeetCode实战
1 简介1.1 回溯算法原理回溯法按深度优先策略搜索问题的解空间树。首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。如果不可行,则跳过对该节点为根的子树的搜索,逐层向其祖先节点回溯;否则,进入该子树,继续按深度优先策略搜索。回溯法的基本行为是搜索,搜索过程使用剪枝函数来为了避免无效的搜索。剪枝函数包括两类:1. 使用约束函数,剪去不满足约束条件的路径;2.使用限界函数,剪去不能得到最优解的路径。问题的关键在于如何定义问题的解空间,原创 2021-01-09 20:38:58 · 620 阅读 · 2 评论 -
Python_算法_去重重复数字
1. 描述在面试某大厂的时候遇到一个笔试题目,题目内容为:给定一个列表,去除重复的数字(自身也不保留),例如 [1, 2, 2, 3, 4],处理后为 [1, 3, 4]。2. 解题用例输入:nums = [1, 2, 3, 3, 3, 4, 4, 5, 6, 6, 7]用例输出:nums = [1, 2, 5, 7]2.1 暴力求解看到题目的想到一种解法就是对每一个数字进行计数,最后只留出现次数为1的数字。但是这种方法的算法复杂度很好,在面试的时候并没有提到,在整理的时候梳理一下。nums原创 2020-08-06 11:17:08 · 2001 阅读 · 0 评论 -
Python_Leetcode_7_整数反转
1.背景Leetcode专栏目的:希望给学习算法的朋友提供一些想法,也希望有大佬能够通过评论提供宝贵的意见。Leetcode专栏方式:将展示实现代码的多种实现方式,并且对算法复杂度进行比较。由于笔者偏好,代码全部使用python实现。本期题目: https://leetcode-cn.com/problems/reverse-integer/2.解题方式本次介绍循环、字符串反转两种解题方式2.1 循环本方法采用flag进行正负数标记,利用循环进行数值反转。class Solution:原创 2020-06-27 12:37:31 · 324 阅读 · 0 评论 -
Python_Leetcode_3_无重复字符的最长子串
1.背景Leetcode专栏目的:希望给学习算法的朋友提供一些想法,也希望有大佬能够通过评论提供宝贵的意见。Leetcode专栏方式:将展示实现代码的多种实现方式,并且对算法复杂度进行比较。由于笔者偏好,代码全部使用python实现。本期题目: https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/2.解题方式本题由展示两种解题方式2.1 方法1:暴力求解暴力求解的方式就是生成所有字串原创 2020-06-26 21:03:50 · 279 阅读 · 0 评论 -
Python_Leetcode_1_ 两数之和
1.背景Leetcode专栏目的:希望给学习算法的朋友提供一些想法,也希望有大佬能够通过评论提供宝贵的意见。Leetcode专栏方式:将展示实现代码的多种实现方式,并且对算法复杂度进行比较。由于笔者偏好,代码全部使用python实现。本期题目: https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/2.解题方式本题由展示三种解题方式2.1 方法1:多重循环这里是使用双重循环,即两个搜索指针,判断加和是否为t原创 2020-06-26 14:30:15 · 225 阅读 · 0 评论