给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nu
转载 2023-05-31 12:55:07
24阅读
前言本系列,希望使用Python通关LeetCode,暂时开始做简单题。初次刷LeetCode目的是为了提高自己的算法能力,我的解法在时间复杂度上肯定不是最优的,忘各位指导。另外,LeetCode早已推出了中文官网https://leetcode-cn.com,希望各位亲自尝试这些题目。21. 合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成
1. heapq 堆Python 中只有最小堆:import heapq a = [] heapq.heappush(a, 3) # 添加元素 heapq.heappush(a, 2) heapq.heappush(a, 1) while len(a): # 判断堆的长度 print(heapq.heappop(a)) # 弹出堆顶元素 # 将列表转换为最小堆 nums = [2
1、两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]解法一:暴力求解,
目录子序列问题最长递增子序列II最长递增子序列I最长递增子序列个数数组最长连续子序列树相关恢复二叉搜索树判断二叉搜索树,平衡树判断镜像序列化二叉树前中,中后构建二叉树前中后序非递归遍历之字型遍历二叉树N叉树层序遍历数组相关(滑动窗口,二分)lt56 合并区间滑动窗口最大值子数组最大累加和 牛客字符串最长无重复子串长度le11 盛水最多容器接雨水其他合并两个排序链表(递归)k个排序链表合并牛客 合并
LeetCode题集三简单题100. 相同的树101. 对称二叉树104. 二叉树的最大深度107. 二叉树的层次遍历 II108. 将有序数组转换为二叉搜索树110. 平衡二叉树111. 二叉树的最小深度112. 路径总和119. 杨辉三角 II119. 杨辉三角 II 简单题100. 相同的树题目:思路:树结构常用到递归,这里使用递归来实现。深度优先探索结点是否相同。解法:# Definit
文章目录Leetcode 2. 两数相加Leetcode 24. 两两交换链表中的节点Leetcode 21. 合并两个有序链表Leetcode 206:反转链表Leetcode 25. K 个一组翻转链表Leetcode 141. 环形链表Leetcode 160. 相交链表Leetcode 143. 重排链表Leetcode237. 删除链表中的节点Leetcode19. 删除链表的倒数第
转载 2023-09-07 10:41:48
113阅读
(1)912. 排序数组 python快排(Quick Sort)基本步骤为:挑选基准值:从数列中挑出一个元素,称为“基准”(pivot);分割(partition):重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成;递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序
转载 3月前
18阅读
树的名词解释参考文章:数据结构基础知识《数据结构与算法之美》学习汇总python数据结构
原创 2023-03-08 01:10:59
72阅读
# LeetCode 1135: Connecting Cities ## Introduction In this article, we will discuss the problem of connecting cities using a minimum cost. This is a classical problem in graph theory and can be solv
原创 9月前
11阅读
# Python LeetCode 358实现指南 ## 1. 引言 在本文中,我们将讨论如何使用Python解决LeetCode问题358。LeetCode是一个面向程序员的在线编程平台,提供了大量的算法和数据结构问题。解决这些问题可以帮助我们提高编程能力,熟悉常用的编程技巧和算法思想。 ## 2. 实现流程 首先,让我们来看看解决LeetCode问题的一般流程。下表展示了整个过程的步骤。
# Python leetcode 测试指南 ## 介绍 LeetCode是一个面向算法和数据结构的在线学习平台,它提供了许多题目供开发者进行练习和挑战。在解决LeetCode题目时,我们通常需要编写代码,并进行测试以确保代码的正确性。本篇文章将向你介绍如何实现Python LeetCode测试,并指导你完成每个步骤。 ## 流程 下面是整个Python LeetCode测试的流程,请按照顺序
原创 2023-07-19 14:58:25
54阅读
## 实现LeetCode 1493的流程 为了帮助刚入行的小白实现LeetCode 1493的Python代码,我们需要按照以下流程进行操作: 1. 理解问题:首先,我们需要理解LeetCode 1493题目的要求和约束条件。 2. 设计算法:根据题目要求,我们需要设计一个算法来解决问题。 3. 编写代码:将算法转化为Python代码。 4. 测试代码:使用不同的测试用例来验证代码的正确性。
原创 11月前
18阅读
# 实现"leetcode 649 python"的步骤及代码指导 ## 一、整体流程 首先,我们需要了解“leetcode 649”是什么题目,然后我们来编写Python代码实现这个题目。下面是整个过程的步骤表格: | 步骤 | 描述 | | ---- | ---- | | 1 | 确定题目要求 | | 2 | 设计算法逻辑 | | 3 | 编写Python代码实现 | | 4 | 测试代码
原创 4月前
16阅读
题目要求的比它的邻居比自己奖励,因此,我们有最少一个多的。所有我们可以找到所有的坑,凹坑例如,存在以下三种情况。找到全部的凹点后,我们就能够从凹点处開始向左右两个方向依次查找递增序列。当中每一个高的都要比相邻的矮的多一个。比方1,2,5,4.我们找到凹点为1 和4,那么从1開始向左没有其它点,我们向...
转载 2015-07-08 15:40:00
102阅读
2评论
# 在LeetCode上使用Python进行条件判断与循环终止 在编程中,条件判断与循环是基础性的概念,尤其是在算法和数据结构的题目中。本文将以 LeetCode 为例,探讨如何在使用 Python 时结合 `if` 语句与 `break` 语句来完成特定的任务。 ## `if` 与 `break` 的基本概念 在 Python 中,`if` 语句用于条件判断,而 `break` 语句则用于
原创 1月前
7阅读
1.数组基础题目189.轮转数组解法1(自创:列表特性):思路:利用Python列表中的特殊方法pop和insert实现尾部元素多次删除后添加到列表首部的方式实现轮转。缺点:执行用时过长代码:class Solution: def rotate(self, nums: List[int], k: int) -> None: """ Do not ret
接雨水解法详解:题目:基本思路:从图上可以看出要想接住雨水,必须是凹字形的,也就是当前位置的左右两边必须存在高度大于它的地方,所以我们要想知道当前位置最多能存储多少水,只需找到左边最高处max_left和右边最高处max_right,取他们两个较小的那边计算即可(短板效应)。其实接下来的解法要解决的问题就是如何找到max_right和max_left。不过我们首先来看一个无法AC的解法:解法一:按
大家好!动态规划题目是总结的比较完整了。下面是自从和大家刷开题总结的动态规划解题方法。今年全国夏天雨是真的多,突然想到今年北京的夏天也不像往年那么热。不知不觉就稳稳地度过了夏天来到秋天。恰巧前几天有一个粉丝问到了我,网上接雨水的解决总是感觉有点混乱,能不能用动态规划解决。今早北京大雨,借用大雨的感受,想了想接雨水问题,依然用长图一步一步说明!背景先来看看题目,这个题目应该是很多人都已经遇到过了,因
题目:括号匹配,就是给定的字符串中,只有"{ 、}、 [、 ] (、)"这几种字符,其中有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。空字符串也是有效字符串。分析:这个题目最早接触是在大学本科课程数据结构中接触到的,而它正是栈的一种应用,所以可以借助于栈来解决。首先第一种比较通用的解法,借助栈,主要算法思想是:  1.遍历字符串;  2.如果遇到的字符属于左括号范
转载 9月前
13阅读
  • 1
  • 2
  • 3
  • 4
  • 5