草庐IT

leetCode

全部标签

Leetcode.530 二叉搜索树的最小绝对差

题目链接Leetcode.530二叉搜索树的最小绝对差easy题目描述给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。示例1:输入:root=[4,2,6,1,3]输出:1示例2:输入:root=[1,0,48,null,null,12,49]输出:1提示:树中节点的数目范围是[2,104][2,10^4][2,104]00Node.val105解法:中序遍历因为给定的是一棵二叉搜索树。中序遍历结点值是按从小到大排序的。所以我们用pre记录前一个结点,用ans记录最小的绝对值差。每次更新ans=min{ans,root.v

vector容器中erase(删除)的使用

erase函数可以用于删除vector容器中的一个或者一段元素,在删除一个元素的时候,其参数为指向相应元素的迭代器,而在删除一段元素的时候,参数为指向一段元素的开头的迭代器以及指向结尾元素的下一个元素的迭代器;在进行单个元素删除后,传入的迭代器指向不变,仍然指向被删除元素的位置,而被删除元素之后的所有元素都向前移动一位,也就是该迭代器实际上是指向了原来被删除元素的下一个元素。删除一段元素后,传入的迭代器指向也是不变的,仍然指向原来传进去时候的位置,修改的是删除段后面的元素的位置。1、示例#include#includeusingnamespacestd;intmain(void){vector

vector容器中erase(删除)的使用

erase函数可以用于删除vector容器中的一个或者一段元素,在删除一个元素的时候,其参数为指向相应元素的迭代器,而在删除一段元素的时候,参数为指向一段元素的开头的迭代器以及指向结尾元素的下一个元素的迭代器;在进行单个元素删除后,传入的迭代器指向不变,仍然指向被删除元素的位置,而被删除元素之后的所有元素都向前移动一位,也就是该迭代器实际上是指向了原来被删除元素的下一个元素。删除一段元素后,传入的迭代器指向也是不变的,仍然指向原来传进去时候的位置,修改的是删除段后面的元素的位置。1、示例#include#includeusingnamespacestd;intmain(void){vector

【LeetCode】剑指 Offer(27)

目录题目:剑指Offer53-I.在排序数组中查找数字I-力扣(Leetcode)题目的接口:解题思路:代码:过啦!!!写在最后:题目:剑指Offer53-I.在排序数组中查找数字I-力扣(Leetcode)题目的接口:classSolution{public:intsearch(vector&nums,inttarget){}};解题思路:那么这道题呢,如果只是作为一道题,或者说笔试题,我们当然是二话不说直接暴力拿下,来看代码:classSolution{public:intsearch(vector&nums,inttarget){intcnt=0;for(autoe:nums)if(e=

【LeetCode】剑指 Offer(27)

目录题目:剑指Offer53-I.在排序数组中查找数字I-力扣(Leetcode)题目的接口:解题思路:代码:过啦!!!写在最后:题目:剑指Offer53-I.在排序数组中查找数字I-力扣(Leetcode)题目的接口:classSolution{public:intsearch(vector&nums,inttarget){}};解题思路:那么这道题呢,如果只是作为一道题,或者说笔试题,我们当然是二话不说直接暴力拿下,来看代码:classSolution{public:intsearch(vector&nums,inttarget){intcnt=0;for(autoe:nums)if(e=

详解力扣中int *returnSize和int **returnColumnSizes

本文首发(其实是补发)于我的个人博客,阅读体验会比CSDN好一些。https://www.ceyewan.top/p/bddf0945.html正文开始:在用C语言刷力扣的时候,我们经常会看到这两个东西,int*returnSize和int**returnColumnSizes。连题目都看不懂,更何况是做题呢?我也是查找了网上零零碎碎的资料和做了蛮多题之后,终于想明白了。遂整理成此文,希望能帮到后来者。个人理解,如有不足,烦请斧正。首先我们来看一道题,力扣的第15题,三数之和。这是笔者第一次接触到这两个东西的题目。三数之和题干:给你一个包含n个整数的数组nums,判断nums中是否存在三个元素

详解力扣中int *returnSize和int **returnColumnSizes

本文首发(其实是补发)于我的个人博客,阅读体验会比CSDN好一些。https://www.ceyewan.top/p/bddf0945.html正文开始:在用C语言刷力扣的时候,我们经常会看到这两个东西,int*returnSize和int**returnColumnSizes。连题目都看不懂,更何况是做题呢?我也是查找了网上零零碎碎的资料和做了蛮多题之后,终于想明白了。遂整理成此文,希望能帮到后来者。个人理解,如有不足,烦请斧正。首先我们来看一道题,力扣的第15题,三数之和。这是笔者第一次接触到这两个东西的题目。三数之和题干:给你一个包含n个整数的数组nums,判断nums中是否存在三个元素

LeetCode - 698 划分为k个相等的子集

目录题目来源题目描述示例提示题目解析算法源码题目来源698.划分为k个相等的子集-力扣(LeetCode)题目描述给定一个整数数组  nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例输入nums=[4,3,2,3,5,2,1],k=4输出true说明有可能将其分成4个子集(5),(1,4),(2,3),(2,3)等于总和。输入nums=[1,2,3,4],k=3输出false说明无提示10每个元素的频率在 [1,4] 范围内题目解析本题其实是一道子集问题,可以利用回溯法求解。首先,我们可以求出nums数组的所有元素之和sum,如果sum%k不为0的话

LeetCode - 698 划分为k个相等的子集

目录题目来源题目描述示例提示题目解析算法源码题目来源698.划分为k个相等的子集-力扣(LeetCode)题目描述给定一个整数数组  nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例输入nums=[4,3,2,3,5,2,1],k=4输出true说明有可能将其分成4个子集(5),(1,4),(2,3),(2,3)等于总和。输入nums=[1,2,3,4],k=3输出false说明无提示10每个元素的频率在 [1,4] 范围内题目解析本题其实是一道子集问题,可以利用回溯法求解。首先,我们可以求出nums数组的所有元素之和sum,如果sum%k不为0的话

【每日挠头算法题】Leetcode 989. 数组形式的整数加法 —— 高精度加法解法

👑作者主页:@进击的安度因🏠学习社区:进击的安度因(个人社区)📖专栏链接:每日挠头算法题文章目录一、题目描述二、思路及代码实现如果无聊的话,就来逛逛我的博客栈吧!🌹今天为大家带来的是力扣上的一道简单题:数组形式的整数加法。这道题我在2个月前就尝试过,但是没有解答出来。两个月后再做这道题目,就变得没那么难了。这次我将以高精度加法进行求解,让我们开始吧!一、题目描述链接:989.数组形式的整数加法描述:整数的数组形式num是按照从左到右的顺序表示其数字的数组。例如,对于num=1321,数组形式是[1,3,2,1]。给定num,整数的数组形式,和整数k,返回整数num+k的数组形式。示例1:输入: