文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】11. 盛最多水的容器

1 题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 ...

【Leetcode刷题Python】11. 盛最多水的容器
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】977. 有序数组的平方

1 题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 2 解析 (1)方法一:使用python内置的sort的快排 空间复杂度O(n),时间复杂度O(nlogn) (2)方法二 直接插入排序,但是超过时间限制 时间复杂度 O ( n 2 ) O(n^2) O(n2),时...

【Leetcode刷题Python】977. 有序数组的平方
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】23. 合并K个升序链表

1 题目 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6] 2 解析 注意,最外层是列表,第二层是链表如上面的[1,4,5]是链表1->4-...

文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】75. 颜色分类

1 题目 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库的sort函数的情况下解决这个问题。 2 解析 (1)方法一 插入排序法,时间复杂度 O ( n 2 ) O(n^2) O(...

【Leetcode刷题Python】75. 颜色分类
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】88. 合并两个有序数组

1 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其...

【Leetcode刷题Python】88. 合并两个有序数组
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】328. 奇偶链表

1 题目 给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。 你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。 ...

【Leetcode刷题Python】328. 奇偶链表
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】234.回文链表

1 题目 请判断一个链表是否为回文链表。 比如【1】【1,2,2,1】【1,2,1】,【1,2,3,3,2,1】 2 解析 (1)方法一:使用栈 将前一半入栈,然后出栈,对比后一半的元素,注意如果链表长度是奇数,就需要跳过中间元素。 (2)方法二:拆分为两个链表,反转后半段链表,再依次对比 注意:找到中间元素,可以用计数法或者快慢指针法,以...

【Leetcode刷题Python】234.回文链表
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】25.K 个一组翻转链表

1 题目 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 ...

【Leetcode刷题Python】25.K 个一组翻转链表
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】203.移除链表元素

1 题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 2 解析 (1)方法一迭代法,依次直接对head链表的每个元素进行判断。遇到待删除元素直接删除。注意,需要考虑一种情况,如果链表是[7,7,7,7],删除的元素是7,是不能直接用head.next = head.next.next的,因为head...

【Leetcode刷题Python】203.移除链表元素
文章 2024-08-05 来自:开发者社区

【Leetcode刷题Python】641.循环双端队列

1 题目 设计实现双端队列。你的实现需要支持以下操作: MyCircularDeque(k):构造函数,双端队列的大小为k。insertFront():将一个元素添加到双端队列头部。 如果操作成功返回 true。insertLast():将一个元素添加到双端队列尾部。如果操作成功返回 true。deleteFront():从...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注