随笔分类 - 数据结构与算法
摘要:1.题目介绍 给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。 插入排序 算法的步骤: 1.插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 2.每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并
阅读全文
摘要:1.题目介绍 题目地址(24. 两两交换链表中的节点 - 力扣(LeetCode)) https://leetcode.cn/problems/swap-nodes-in-pairs/ 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本
阅读全文
摘要:1.题目介绍 给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。 请返回 nums 的动态和。 示例 1: 输入:nums = [1,2,3,4] 输出:[1,3,6,10] 解释:动态和计算过程为 [1, 1+2, 1
阅读全文
摘要:1.题目介绍 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums = [1,1,1], k = 2 输出:2 示例 2: 输入:nums = [1,2,3], k = 3 输出:2 提示:
阅读全文
摘要:参考链接:排序算法的最坏时间复杂度 1.题目介绍 以下哪种排序算法的最坏时间复杂度可以做到 O(nlogn) A.归并排序 B.快速排序 C.冒泡排序 D.插入排序 2.题解 方式: 平均 最坏 最好 插入 n^2 n^2 n 希尔 n^1.3 / / 冒泡 n^2 n^2 n 快速 nlogn n
阅读全文
摘要:1.题目介绍 33.最长连续子数组 给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 ,返回仅包含 1 的最长(连续)子数组的长度 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512 示例1 输入例子: [1,1,1,0,0,
阅读全文
摘要:1.题目介绍 有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,求第n个月的兔子总对数为多少? 2.题解 2.1 动态规划 思路 类似于爬楼梯的思路。 代码 class Solution { public: /** * 代码中的类名、方法名
阅读全文
摘要:1.题目介绍 给你一个整数数组 \(nums\),请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 提示: \(1 <= nums.length <= 5
阅读全文
摘要:1.题目介绍 给你一个整数数组 \(nums\) ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最
阅读全文
摘要:1.题目介绍 给定一个链表的头节点 \(head\) ,返回链表开始入环的第一个节点。 如果链表无环,则返回 \(null\)。 如果链表中有某个节点,可以通过连续跟踪 \(next\) 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 \(pos\) 来表示链表尾连接到
阅读全文
摘要:1.题目介绍 给定两个字符串 \(s\) 和 \(p\),找到 \(s\) 中所有 \(p\) 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1: 输入: s = "cbaebabacd", p = "abc"
阅读全文
摘要:1.题目介绍 以数组 \(intervals\) 表示若干个区间的集合,其中单个区间为 \(intervals[i] = [starti, endi]\) 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:intervals = [[1,
阅读全文

浙公网安备 33010602011771号