刷题记录
I'mGoodAtBruteForce
混日子的研究生一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode刷题记录 NO.1356二进制数字1排序
题目描述 根据数字二进制下 1 的数目排序 给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。 如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。 请你返回排序后的数组。 示例 1: 输入:arr = [0,1,2,3,4,5,6,7,8] 输出:[0,1,2,4,8,3,5,6,7] 解释:[0] 是唯一一个有 0 个 1 的数。 [1,2,4,8] 都有 1 个 1 。 [3,5,6] 有 2 个 1 。 [7] 有 3 个 1 。 按照原创 2020-11-06 14:51:58 · 230 阅读 · 0 评论 -
LeetCode刷题记录 NO.349 两个数组的交集
题目描述 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 来源:力扣(LeetCode) 题解 利用集合来求解 class Solution { public: vector<int> intersectio原创 2020-11-02 20:30:30 · 244 阅读 · 0 评论 -
LeetCode刷题记录 NO.234回文链表
题目描述 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 来源:力扣(LeetCode) 题解 先用递归将一个指针移至链表尾,另一个指针指向链表头,同时向中间移动。 class Solution { public: bool res = true; ListNode* cur; bool isP原创 2020-10-29 18:52:22 · 151 阅读 · 0 评论 -
LeetCode刷题记录 NO.1 两数之和
题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 来源:力扣(LeetCode) 题解 暴力解法 class Solution { public: vector<in原创 2020-10-28 16:12:34 · 196 阅读 · 0 评论 -
LeetCode刷题记录NO.1207 独一无二的出现次数
题目描述 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 示例 1: 输入:arr = [1,2,2,1,1,3] 输出:true 解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。 示例 2: 输入:arr = [1,2] 输出:false 示例 3: 输入:arr = [-3,0,1,-3,1,1,1,-3,10,0] 输出:true 提示: 1 <原创 2020-10-28 10:18:45 · 225 阅读 · 0 评论 -
LeetCode刷题记录 NO.1365 有多少小于当前数字的数字
目录题目描述题解 题目描述 给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。 换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。 以数组形式返回答案。 示例 1: 输入:nums = [8,1,2,2,3] 输出:[4,0,1,1,3] 解释: 对于 nums[0]=8 存在四个比它小的数字:(1,2,2 和 3)。 对于 nums[1]=1 不存在比它小的数字。原创 2020-10-26 16:37:38 · 165 阅读 · 0 评论 -
LeetCode刷题记录NO.763 划分字母区间
目录题目描述题解解题思路代码 题目描述 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。 示例 1: 输入:S = “ababcbacadefegdehijhklij” 输出:[9,7,8] 解释: 划分结果为 “ababcbaca”, “defegde”, “hijhklij”。 每个字母最多出现在一个片段中。 像 “ababcbacadefegde”, “hijhklij” 的划分是错误的,因为划分的片段数较原创 2020-10-22 16:47:08 · 143 阅读 · 0 评论 -
LeetCode刷题记录 NO.844 比较退格字符
目录题目描述题解 题目描述 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。 注意:如果对空文本输入退格字符,文本继续为空。 示例 1: 输入:S = “ab#c”, T = “ad#c” 输出:true 解释:S 和 T 都会变成 “ac”。 示例 2: 输入:S = “ab##”, T = “c#d#” 输出:true 解释:S 和 T 都会变成 “”。 示例 3: 输入:S = “a##c”, T = “#a#c” 输出:true原创 2020-10-19 21:28:01 · 139 阅读 · 0 评论 -
LeetCode刷题记录 NO.19删除链表的倒数第N个节点
LeetCode刷题记录 NO.19删除链表的倒数第N个节点 题目描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 来源:力扣 解题思路 最直接的思路,遍历链表,获取长度L,再遍历到第L-N+1个节点,将其删除,需要遍历两遍。 如果只遍历一原创 2020-10-19 11:04:09 · 135 阅读 · 0 评论 -
LeetCode刷题记录 NO.116 填充右侧指针
填充每个节点的下一个右侧指针题目描述解题思路代码 题目描述 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 NULL。 来源:力扣 解题思路 运用递归,如原创 2020-10-15 19:09:10 · 118 阅读 · 0 评论 -
LeetCode刷题记录NO.24 交换链表节点
LeetCode刷题记录NO.24 交换链表节点 题目描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 提示: 链表中节点的数目在范围 [0, 100] 内 0 <= Node.val <= 100 来源:LeetCode 基本思路 迭代 直接观察可以知道,每交换一次链表,实际上涉及到四个数据的操作,如 1->2->3->4 交换之后为 2->1->4->3 具体步骤:原创 2020-10-13 15:17:07 · 155 阅读 · 0 评论 -
LeetCode刷题记录 NO.141&142 环形链表
LeetCode刷题记录 NO.141&142 环形链表 题目概述 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。 如果链表中存在环,则返回 true 。 否则,返回 false 。 示例: 输入:head = [3,2,原创 2020-10-10 16:53:13 · 202 阅读 · 0 评论
分享