力扣刷题python篇
文章平均质量分 61
LKID体
欢迎交流学习,wx号:lkidti。或关注微信公众号LKIDTI
展开
-
计算之魂思考一
算法之魂思考题目之一原创 2022-08-19 21:47:32 · 237 阅读 · 0 评论 -
二叉树的深度、路径总和、将有序数组转换为二叉搜索树、二叉搜索树迭代器(2022/02/23)
文章目录104、二叉树的深度112、路径总和111、二叉树的最小深度108、将有序数组转换为二叉搜索树173、二叉搜索树迭代器104、二叉树的深度难度:简单给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。class TreeNode: def __init__(self,原创 2022-02-23 16:51:07 · 200 阅读 · 0 评论 -
(剑指offer)18、删除链表的节点—22、链表中倒数第K个节点—25、合并两个排序的链表—52、两个链表的第一个公共节点(2021.12.07)
文章目录18、删除链表的节点问题描述:代码部分22、链表中倒数第K个节点问题描述代码部分25、合并两个排序的链表问题描述解题思路解题代码52、两个链表的第一个公共节点问题描述解题思路解题代码注:双指针部分18、删除链表的节点问题描述:难度:简单给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节原创 2021-12-07 18:25:18 · 120 阅读 · 0 评论 -
(剑指Offer)10、菲波那切数列I—10、青蛙跳台阶问题II—63、股票的最大利润(2021/12/04)
文章目录10、菲波那切数列I题目描述参考代码:10、青蛙跳台阶问题II题目描述代码部分63、股票的最大利润题目描述解题思路代码部分10、菲波那切数列I题目描述难度:简单写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1原创 2021-12-04 19:19:35 · 215 阅读 · 0 评论 -
(剑指Offer)04、二维数组中的查找11、旋转数组的最小数字50、第一个只出现一次的字符(2021.12.02)
文章目录04、二维数组中的查找题目描述解题思路:代码部分11、旋转数组的最小数字题目描述代码部分50、第一个只出现一次的字符题目描述代码部分04、二维数组中的查找题目描述难度:中等在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],原创 2021-12-02 19:17:04 · 356 阅读 · 0 评论 -
(剑指offer)05 替换空格-58 II.-左旋转字符串(2021-11-25)
剑指offer文章目录剑指offer05 替换空格问题描述代码思路58 II.-左旋转字符串问题描述代码思路05 替换空格问题描述难度:简单请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”代码思路class Solution: def replaceSpace(self, s: str) -> str: res = [] for ch原创 2021-11-25 18:14:53 · 3547 阅读 · 1 评论 -
349 两个数组的交集、350 两个数组的交集、242 有效字母的异位词(2021-11-07)
文章目录349 两个数组的交集问题描述分析实现350 两个数组的交集2问题描述分析实现242 有效字母的异位词问题描述分析实现349 两个数组的交集问题描述难度:简单给定两个数组,编写一个函数来计算它们的交集。示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2]示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4]说明: 输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。分析原创 2021-11-07 21:02:24 · 4111 阅读 · 0 评论 -
72. 编辑距离、198.打家劫舍、213_打家劫舍2(12021-11-06)
文章目录72. 编辑距离问题描述解题思路198.打家劫舍1问题描述解题思路213_打家劫舍2问题描述72. 编辑距离问题描述难度:困难给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = “horse”, word2 = “ros” 输出:3 解释: horse -> rorse (将 ‘h’ 替换为‘r’) rorse原创 2021-11-06 22:19:43 · 110 阅读 · 0 评论 -
674.最长连续递增序列、5. 最长回文子串(2021-11-05)
文章目录674.最长连续递增序列题目描述解题思路5. 最长回文子串题目描述解题思路674.最长连续递增序列题目描述给定一个未经排序的整数数组,找到最长且连续的的递增序列。难度:简单示例 1:输入:nums = [1,3,5,4,7]输出:3解释:最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。 示例 2:输入:nums = [2,2,2,2,2]输出:1解释:最长连续递增序列是原创 2021-11-05 20:58:37 · 187 阅读 · 0 评论 -
169. 多数元素、53.最大子序列和、50. 实现 pow()(2021-11-04)
169. 多数元素难度:简单题题目描述给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 [n/2] 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2解题思路确定切分的终止条件直到所有的子问题都是长度为 1 的数组,停止切分。准备数据,将大问题切分为小问题递归地将原数组二分为左区间与右区间,直到最终的数组只剩下一个元素,将其返回原创 2021-11-04 17:02:47 · 95 阅读 · 0 评论 -
07_整数反转2021-04-18
class Solution: def reverse(self, x: int) -> int: num =0 a = abs(x) while a!=0: a = x % 10 num = num*10 +a x =x //10 if x <0 and x >-(2**31): return原创 2021-04-18 11:19:02 · 81 阅读 · 0 评论 -
02、两数之和(medium)——2021-04-12
第一题:两数相加(Medium)环境:python3,力扣官网题目:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。题解:解法一:# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=N原创 2021-04-12 23:07:04 · 148 阅读 · 1 评论 -
01、两数之和——2021-04-12
第一题:两数之和环境:python3,力扣官网题目:解法一:class Solution: def twoSum(self, nums: List[int], target: int): for i in nums: j =target-i start = nums.index(i) next = start +1 temp =nums[next:]原创 2021-04-12 13:44:12 · 103 阅读 · 0 评论