随笔分类 - C / C++
摘要:在数组中的两个数字,如果 前面一个数字大于后面 的数字,则这两个数字组成一个 逆序对 。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制: 0 困难 实际上是利用==归并排序==的性质 推荐直接看官方题解视频的思路
阅读全文
摘要:先上代码 b站讲解视频 🔗 "灯神讲背包"
阅读全文
摘要:199. 二叉树的右视图 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 代码二
阅读全文
摘要:🔒 统计「优美子数组」 给你一个整数数组 和一个整数 。 如果某个 连续 子数组中恰好有 个奇数数字,我们就认为这个子数组是「 优美子数组 」。 请返回这个数组中「优美子数组」的数目。 示例 1 2 3 提示 `1 利用滑动窗口 有点像计算机网络里传输数据滑动窗口协议 结合代码注释还是比较好理解
阅读全文
摘要:岛屿数量 给你一个由 (陆地)和 (水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 示例 2: 题解 利用dfs逐个标记
阅读全文
摘要:盛最多水的容器 给你 n 个非负整数 a 1, a 2,..., a n,每个数代表坐标中的一个点 ( i , ai ) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 ( i , ai ) 和 ( i , 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:
阅读全文
摘要:1009 说反话 (20分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没
阅读全文
摘要:跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到
阅读全文
摘要:56. 合并区间 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2: 输入: [[1,
阅读全文
摘要:1. 输入输出 C++既可以用C的scanf和printf,也可以用新增的的cin与cout, 后者速度慢 1.1 C程序中输入输出 1.2 C++输入输出 max(x, y)、min(x, y) 分别返回x和y中的最大、最小值,且 参数必须是两个 (可以是浮点数),参数为三个时可以写成 a
阅读全文
摘要:力扣上也有一道类似的题 几乎是一样 输出不同 → "力扣leetcode 435. 无重叠区间 " 区间贪心是比较经典的 就拿洛谷P1803来举例 题目大意 n个比赛 [开始时间,结束时间] 问一个人最多能参加几个(不能同时参加两个且必须有始有终) 题解 首先考虑最简单的情况,如果区间L1被区间L2
阅读全文
摘要:非常经典的区间贪心思想 详见博文: "贪心思想之区间贪心" 本题给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 __注意:__ 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 __示例 1:__ 输入: [ [1,2
阅读全文
摘要:快读原理 单个字符的读入速度要比读入数字快,因此我们以字符的形式先读入,然后处理计算转为数字。 代码 cpp inline int read(){ register int x = 0, t = 1; register char ch=getchar(); // 读入单个字符到寄存器 while(c
阅读全文
摘要:一直觉得洛谷的背景故事很....直接题解吧
阅读全文

浙公网安备 33010602011771号