随笔分类 - 数据结构与算法
摘要:1.题目介绍 【深基5.例7】工艺品制作 题目描述 现有一个长宽高分别为 \(w,x,h\) 组成的实心玻璃立方体,可以认为是由 \(1\times1\times1\) 的数个小方块组成的,每个小方块都有一个坐标 $ ( i,j,k ) $。现在需要进行 \(q\) 次切割。每次切割给出 \((x_
        阅读全文
                
摘要:1.题目介绍 2.题解 2.1 模拟 思路 模拟,使用二维数组记录每一块地皮实际被覆盖情况即可 代码 #include<bits/stdc++.h> using namespace std; int main(){ int n, m; cin >> n >> m; vector<vector<int
        阅读全文
                
摘要:1.题目介绍 2.题解 2.1 二维数组 思路 主要熟悉vector创建二维数组的方法 vector<vector> ans(N,vector(3)); 这里第一个元素表明数组大小,第二个元素表明该二维数组的所有元素初始化为一个大小为3的一维数组 vector(3) 是一种匿名对象(anonymou
        阅读全文
                
摘要:1.题目介绍 [NOIP2005 普及组] 校门外的树 题目描述 某校大门外长度为 \(l\) 的马路上有一排树,每两棵相邻的树之间的间隔都是 \(1\) 米。我们可以把马路看成一个数轴,马路的一端在数轴 \(0\) 的位置,另一端在 \(l\) 的位置;数轴上的每个整数点,即 \(0,1,2,\d
        阅读全文
                
摘要:1.题目介绍 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除法,且在 O(n) 时间复杂度
        阅读全文
                
摘要:1.题目介绍 2.题解 本题的方法被称为「快速幂算法」,有递归和迭代两个版本。这篇题解会从递归版本的开始讲起,再逐步引出迭代的版本。 当指数 n为负数时,我们可以计算 x^-n再取倒数得到结果,因此我们只需要考虑 n 为自然数的情况。 2.1 模拟(不推荐,时间复杂度过高) 思路 分为n>=0, n
        阅读全文
                
摘要:1.题目介绍 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案 示例 2: 输入:s = "cbbd" 输出:"bb" 2.题解 2.1 
        阅读全文
                
摘要:1.题目介绍 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln - 1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 例 
        阅读全文
                
摘要:1.题目介绍 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head = [4,2,1,3] 输出:[1,2,3,4] 2.题解 在147.对链表进行插入排序中我们使用插入排序的方式对于链表进行排序 插入排序的时间复杂度是 O(n^2),其中 n 是链
        阅读全文
                
摘要: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] 2.题解 补充-建堆过程的时间复杂度为O(n)而不是\(O(n
        阅读全文
                
摘要: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] 2.题解 2.1 归并排序(递归版本) 思路 归并排序利用了分
        阅读全文
                

浙公网安备 33010602011771号