c++
文章平均质量分 81
你愿意和我一起清理内存吗?
这个作者很懒,什么都没留下…
展开
-
需要复习的简单题
二分法剑指 Offer 11. 旋转数组的最小数字class Solution {public: int minArray(vector<int>& numbers) { int low = 0; int high = numbers.size() - 1; while (low < high) { int mid = low + (high - low) / 2;//防止溢出原创 2022-03-22 21:00:30 · 209 阅读 · 0 评论 -
刷力扣中等题
题源:LeetCode45.跳跃游戏II贪心,通过局部最优解得到全局最优解。每次在上次能跳到的范围(end)内选择一个能跳的最远的位置(也就是能跳到max_far位置的点)(覆盖了跳得近的点)作为下次的起跳点 。class Solution {public: int jump(vector<int>& nums) { int step = 0;//跳跃次数 int max_far = 0;//原创 2022-03-04 01:10:13 · 592 阅读 · 0 评论 -
每日刷题计划Day[26,27]
题源:LeetCode1706. 球会落何处class Solution {public: vector<int> findBall(vector<vector<int>>& grid) { //思想主要在循环上,真的妙 int n = grid[0].size(); vector<int> ans(n, -1); for(int j = 0; j < n; j++){原创 2022-02-24 11:36:20 · 204 阅读 · 0 评论 -
每日刷题计划Day1笔记-字符串
题源:LeetCode3.无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注原创 2022-01-23 12:30:06 · 428 阅读 · 0 评论 -
每日刷题计划Day[16, 17]-并查集
题源:LeetCode并查集:1.将两个集合合并2.询问两个元素是否在一个集合当中近乎O(1)基本思想:每个集合用一棵树来表示。(用树的方式维护集合,不一定是二叉树。)每一个集合根节点的编号就是当前节点的编号。树上每一个节点都存储对应的父节点编号。问题:如何判断树根:if(p[x] == x)如何求x的集合编号:while(p[x] != x) x = p[x];如何合并两个集合:p[x]是x的集合编号,p[y]是y的集合编号。p[x] = y。x所在的集合插到y所在的集合上。原创 2022-02-07 19:04:09 · 500 阅读 · 0 评论 -
每日刷题计划Day[14,15]-递归
题源:LeetCode剑指 Offer 62. 圆圈中最后剩下的数字0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = 17输出: 2限制:1 &l原创 2022-02-05 15:49:47 · 645 阅读 · 0 评论 -
每日刷题计划Day13-递归
题源:LeetCodeLeetCode每日一题:1725. 可以形成最大正方形的矩形数目给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li 、宽度为 wi 。如果存在 k 同时满足 k <= li 和 k <= wi ,就可以将第 i 个矩形切成边长为 k 的正方形。例如,矩形 [4,6] 可以切成边长最大为 4 的正方形。设 maxLen 为可以从矩形数组 rectangles 切分得到的 最大正方形 的边长原创 2022-02-04 15:06:15 · 924 阅读 · 0 评论 -
每日刷题计划Day12-递归
题源:LeetCodeLeetCode月徽章每日一题1414. 和为 K 的最少斐波那契数字数目给你数字 k ,请你返回和为 k 的斐波那契数字的最少数目,其中,每个斐波那契数字都可以被使用多次。斐波那契数字定义为:F1 = 1F2 = 1Fn = Fn-1 + Fn-2 , 其中 n > 2 。数据保证对于给定的 k ,一定能找到可行解。示例 1:输入:k = 7输出:2解释:斐波那契数字为:1,1,2,3,5,8,13,……对于 k = 7 ,我们可以得到 2 + 5原创 2022-02-03 23:26:18 · 145 阅读 · 0 评论 -
每日刷题计划Day11-字符串+递归
题源:LeetCodeLeetCode月徽章每日一题2000. 反转单词前缀给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。如果 word 中不存在字符 ch ,则无需进行任何操作。例如,如果 word = “abcdefd” 且 ch = “d” ,那么你应该 反转 从下标 0 开始、直到下标 3 结束(含下标 3 )。结果字符串将会是 “dcbaefd” 。返回原创 2022-02-02 00:36:59 · 2437 阅读 · 0 评论 -
每日刷题计划Day10-字符串+树+递归
题源:LeetCodeLeetCode月徽章每日一题1763. 最长的美好子字符串当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是美好字符串。比方说,“abABB” 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘B’ 和 ‘b’ 也同时出现了。然而,“abA” 不是美好字符串因为 ‘b’ 出现了,而 ‘B’ 没有出现。给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。如果有多个答案,请你返回 最早 出现的一个。如果不存在美好子字符原创 2022-02-01 14:13:31 · 630 阅读 · 0 评论 -
每日刷题计划Day9-树
题源:LeetCode226. 翻转二叉树给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。示例:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]方法:递归这是一道很经典的二叉树问题。显然,我们从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。如果当前遍历到的节点 root 的左右两棵子树都已经翻转,那么我们只需要交换两棵子树的位置,即可完成以 root 为根节点的整棵子树的翻转。class Solution {publ原创 2022-01-31 11:58:27 · 1371 阅读 · 0 评论 -
每日刷题计划Day7-动态规划
题源:LeetCode416. 分割等和子集给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例 1:输入:nums = [1,5,11,5]输出:true解释:数组可以分割成 [1, 5, 5] 和 [11] 。示例 2:输入:nums = [1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。提示:1 <= nums.length <= 2001 <= num原创 2022-01-28 21:52:12 · 456 阅读 · 0 评论 -
每日刷题计划Day5+Day6+Day7+Day8-动态规划+背包问题合集
题源:ACwing01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤100原创 2022-01-27 11:55:29 · 682 阅读 · 0 评论 -
cJson源码分析与c语言知识点总结(对照源码查看更佳)
cJSON.c/* define our own boolean type */#ifdef true //定义了名为true的宏没有#undef true //如果定义了,就取消这个宏,下面要重新定义#endif#define true ((cJSON_bool)1) //定义名为true的宏#ifdef false#undef false#endif#define false ((cJSON_bool)0)c语言中条件编译相关的预编译指令包括 #define、#und原创 2022-01-21 20:01:11 · 279 阅读 · 0 评论