
LeetCode
文章平均质量分 52
Patty️i
博主暂时退网。如博文有错误之处,非常抱歉,望谅解。祝您生活愉快,学业有成。
展开
-
LeetCode_961. 在长度 2N 的数组中找出重复 N 次的元素_C语言
C语言题目表述方法一:哈希表方法二:随机选择方法三:数学题目表述给你一个整数数组 nums ,该数组具有以下属性:nums.length == 2 * n.nums 包含 n + 1 个 不同的 元素nums 中恰有一个元素重复 n 次找出并返回重复了 n 次的那个元素。示例 1:输入:nums = [1,2,3,3]输出:3示例 2:输入:nums = [2,1,2,5,3,2]输出:2示例 3:输入:nums = [5,1,5,2,5,3,5,4]输出:5原创 2022-05-21 18:06:23 · 591 阅读 · 0 评论 -
LeetCode_155. 最小栈_C
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。两个方法:方法一:使用辅助栈,存入最小值,当getmin时,去辅助栈;当pop时,如果两个栈顶元素相等,两个栈都出栈方法二:每次入栈都记录dat和mi原创 2022-05-18 23:03:34 · 494 阅读 · 0 评论 -
随笔——C 库函数 - tolower()
描述int tolower(int c)功能:把给定的字母转换为小写字母,非字母字符不做出处理。参数:c要被转换为小写的字母返回值:是一个可被隐式转换为 char 类型的 int 值头文件:在VC6.0可以是ctype.h或者stdlib.h,常用ctype.h#include <stdio.h>#include <ctype.h> int main(){ int i = 0; char c; char str[] = "Hi,Pattyi 1原创 2022-05-01 17:29:18 · 614 阅读 · 0 评论 -
LeetCode_118. 杨辉三角_119. 杨辉三角 II_动态规划_动态二维数组
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/pascals-triangle著作权归领扣网络所有。.原创 2022-04-19 23:08:48 · 251 阅读 · 0 评论 -
LeetCode_110. 平衡二叉树_111. 二叉树的最小深度_递归
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。提示:树中的节点数在范围 [0, 5000] 内-104 <= Node.val <= 104来源:https://leetcode-cn.com/problems/balanced-binary-tree/优秀解答:[育树霖疯]平衡二叉树(Java视频讲解,清晰易懂带字幕)C代码:/** * Definition.原创 2022-04-14 23:18:13 · 495 阅读 · 0 评论 -
LeetCode_108. 将有序数组转换为二叉搜索树_遍历
给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。官方解答C:/** * Defini.原创 2022-04-12 09:44:43 · 374 阅读 · 0 评论 -
LeetCode_100. 相同的树_101.对称二叉树_深度优先搜索_C语言
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。提示:两棵树上的节点数目都在范围 [0, 100] 内-104 <= Node.val <= 104来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/same-tree/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。深度优先搜索深度优先遍历分为三种:.原创 2022-04-09 14:59:59 · 210 阅读 · 0 评论 -
LeetCode_94. 二叉树的中序遍历
给定一个二叉树的根节点 root ,返回它的中序遍历 。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]提示:树中节点数目在范围 [0, 100] 内-100 <= Node.val <= 100进阶: 递归算法很简单,你可以通过迭代算法完成吗?来源:力扣(LeetCode)链接:https://leetcode-cn.c.原创 2022-04-08 09:58:05 · 164 阅读 · 0 评论 -
LeetCode_88. 合并两个有序数组_逆向思维
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入:nums1 = [1,2.原创 2022-04-07 21:19:50 · 483 阅读 · 0 评论 -
LeetCode_83. 删除排序链表中的重复元素
给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。示例 1:输入:head = [1,1,2]输出:[1,2]示例 2:输入:head = [1,1,2,3,3]输出:[1,2,3]提示链表中节点数目在范围 [0, 300] 内-100 <= Node.val <= 100题目数据保证链表已经按升序排列来源:力扣(LeetCode)链接:https://leetcode-cn.com/problem.原创 2022-04-06 11:12:50 · 1028 阅读 · 0 评论 -
LeetCode_70. 爬楼梯_动态规划
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/climbing-stairs.原创 2022-04-05 09:15:45 · 409 阅读 · 0 评论 -
LeetCode_69. x 的平方根_二分查找
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。提示:0 <= x <= 231 - 1来源:力扣(LeetCode)链接:ht.原创 2022-04-04 14:36:34 · 707 阅读 · 0 评论 -
LeetCode_67. 二进制求和_+‘0‘/-‘0‘
给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”提示:每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。1 <= a.length, b.length <= 104字符串如果不是 “0” ,就都不含前导零。来源:力扣(LeetCode)链接:https:/.原创 2022-04-03 10:07:50 · 175 阅读 · 0 评论 -
LeetCode_2. 两数相加_C_未完结
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。不懂点:struct ListNode* head .原创 2022-04-02 16:55:17 · 148 阅读 · 0 评论 -
LeetCode_1455. 检查单词是否为句中其他单词的前缀_strstr()_strtok()
给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。请你检查检索词 searchWord 是否为句子 sentence 中任意单词的前缀。如果 searchWord 是某一个单词的前缀,则返回句子 sentence 中该单词所对应的下标(下标从 1 开始)。如果 searchWord 是多个单词的前缀,则返回匹配的第一个单词的下标(最小下标)。如果 searchWord 不是任何单词的前缀,则返回 -1 。字符串 s 的 前.原创 2022-04-01 09:21:39 · 158 阅读 · 0 评论 -
LeetCode_1295. 统计位数为偶数的数字_三目运算符_int转为String---String.valueOf(x).length()
给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数)345 是 3 位数字(位数为奇数)2 是 1 位数字(位数为奇数)6 是 1 位数字 位数为奇数)7896 是 4 位数字(位数为偶数)因此只有 12 和 7896 是位数为偶数的数字示例 2:输入:nums = [555,901,482,1771]输出:1解释:只有 1771 是位数为偶.原创 2022-03-31 11:35:11 · 752 阅读 · 0 评论 -
LeetCode_剑指 Offer 65. 不用加减乘除做加法_位运算
写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出: 2提示:a, b 均可能是负数或 0结果不会溢出 32 位整数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bu-yong-jia-jian-cheng-chu-zuo-jia-fa-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class So.原创 2022-03-29 09:31:06 · 287 阅读 · 0 评论 -
LeetCode_405. 数字转换为十六进制数
给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。注意:十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符’0’来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。给定的数确保在32位有符号整数范围内。不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。示例 1:输入:26输出:“1a”示例 2:输入:-1输出:“ffffffff”.原创 2022-03-28 14:37:38 · 121 阅读 · 0 评论 -
LeetCode_66. 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]示例 4:输入:.原创 2022-03-27 19:14:25 · 114 阅读 · 0 评论 -
LeetCode_58. 最后一个单词的长度_charAt(i)
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = “Hello World”输出:5解释:最后一个单词是“World”,长度为5。示例 2:输入:s = " fly me to the moon "输出:4解释:最后一个单词是“moon”,长度为4。示例 3:输入:s = “luffy is still joyboy”输出:6.原创 2022-03-26 08:44:07 · 256 阅读 · 0 评论 -
LeetCode_53. 最大子数组和_贪心算法
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23提示:1 <= nums.length <= 105-104 &.原创 2022-03-25 10:21:05 · 161 阅读 · 0 评论 -
LeetCode_35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4示例 4:输入: nums = [1,3,5,6.原创 2022-03-24 09:38:36 · 124 阅读 · 0 评论 -
LeetCode_LCP 28. 采购方案
小力将 N 个零件的报价存于数组 nums。小力预算为 target,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案。注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1示例 1:输入:nums = [2,5,3,5], target = 6输出:1解释:预算内仅能购买 nums[0] 与 nums[2]。示例 2:输入:nums = [2,2,1,9], target = 10输出:4.原创 2022-03-23 15:10:31 · 148 阅读 · 0 评论 -
LeetCode_27_移除数据
移除数据要求给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-element示例输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]原创 2021-09-27 21:19:59 · 162 阅读 · 0 评论 -
LeetCode_26_删除有序数组中的重复项
删除有序数组中的重复项要求给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array实例输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0原创 2021-09-26 18:09:42 · 172 阅读 · 0 评论 -
LeetCode_21_合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。一个大佬写的c++代码我本来看不懂,结果自己画了两个链表,手动"运行"了一下,只能感慨大佬就是大佬!!!!!呜呜呜呜,膜拜!/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr)原创 2021-06-10 22:37:47 · 156 阅读 · 0 评论