力扣每日一题
人面桃花相映红
BNU student
展开
-
852. 山脉数组的峰顶索引 C++题解
题目要求: 852. 山脉数组的峰顶索引题目解析今天同样是个简单的二分题,题目是让你求一个数组中先上升,后下降的那个点的索引。还有我在上一个题目中问道的,二分的时候数组不一定是有序的,这个题目就是一种表现形式,当然还有其他的表现形式。解题思路这个题大家可能用的是的解法,但是题目最后要求是用,所以这个题还是二分。可能大家想想就能想到了,先上升后下降的点,那么我们先找到中间的一个数,把这个数与前一个和后一个进行比较,如果是一直上升,我们就知道结果在后半个区间,如果是一直下降,我们知道结果在左原创 2021-06-15 08:01:25 · 257 阅读 · 0 评论 -
374. 猜数字大小 力扣 C++题解
题目要求: 374. 猜数字大小欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块打卡吧。题目解析今天的题目才真真正正的是二分题目的例题,这估计也是你们学二分的时候的老师给你们讲的例题。但是我有一个问题,大家做完题之后,可以在群里互相交流一下。我们最初始的二分算法要求给定是数组必须是有序的,但是我想问一个问题,二分算法的应用一定是在有序的数组中吗?解题思路这周是二分周,这个题就没有什么解题思路了,就是最基本的二分方法,需要注意的是,这样写的话不会因为计算中间数超出数据表示范原创 2021-06-14 09:28:26 · 414 阅读 · 0 评论 -
278. 第一个错误的版本 力扣每日一题 C++题解
欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块打卡吧 题目解析题目翻译过来就是给你一个数组,大概像这样,FFFFFFTTTTTT,然后找第一个T的位置,很清晰了吧,就是用二分查找的方式,注意一下数据的范围就好了。解题思路这个题就没有什么解题思路了,就是最基本的二分方法,需要注意的是,这样写的话不会因为计算中间数超出数据表示范围,就一般不要这样写,这样的话在计算(l+r)的时候很容易超出int型的数据所能表示的范围。代码和详细注释如下//C++题解//The...原创 2021-06-13 09:28:44 · 170 阅读 · 0 评论 -
279 完全平方数 力扣每日一题
题目要求: 题目解析就是给你一个数,问你他至少有多少个完全平方数组成。一定能组成,因为有1存在。其实我们之前做过类似的题目,比如给你一个数组,每个数可以用多次,问你至少需要几个数可以构成N.解题的思想其实是一样的。解题思路根据题目,我们首先写出动态规划的表达式:表示最少需要多少个数的平方来表示整数 .那么我们只需要枚举中所有的情况,且满足.那么,那么转移方程就很好的写出来了。同时因为计算 时所需要用到的状态仅有 ,必然小于 ,因此我们只需要从小到大地枚举 来计算 即可。同时,因为我们无法原创 2021-06-11 08:57:38 · 151 阅读 · 0 评论 -
049. 最后一块石头的重量 II 力扣每日一题 C++题解
欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块打卡吧题目要求: 1049. 最后一块石头的重量 II题目解析题目很简单,就是给你一堆石头,让你两个两个的废碎,如果是一样大的石头就完全粉碎,否则就求两个的差接着粉碎。问到最后剩下的时候大小最小是多少?解题思路方法一:这个题目不难,因为这个月是背包月,大家可能能想到背包,但是如果是面试的时候,你能想到吗?一般来讲,这个题我肯定是先想到的贪心,不行之后才想到的背包问题。首先写一个错误的思路,就是贪心,我每次都选择最大的原创 2021-06-08 09:20:56 · 306 阅读 · 0 评论 -
474 一和零 力扣每日一题
欢迎关注微信公众号:【没伞的孩子拼命跑】 和我的小伙伴们一块坚持打卡变大牛吧。题目要求题目解析题目说的是给你m个0,n个1,让你求给定的字符串中,符合0的个数小于等于m,1的个数小于等于n的字符串的个数最大为多少?解题思路首先要想这个题的解题方法是什么?之前提到过凡是求最大,最小的,一般都是用动态规划。大家如果做过背包问题,其实对于这个题目还是有感觉的。背包问题是让装的东西小于V,而这个题是让0小于m,1小于n两个条件。经典的背包问题是用两个维度的数组,所以现在是用三个维度的数组.原创 2021-06-06 11:05:50 · 90 阅读 · 0 评论 -
203. 移除链表元素 力扣C++题解
题目要求:203. 移除链表元素 题目解析题目还是很容易理解,就是给你一个链表,删除链表中所有值等于val的节点。但是会有比较特殊的测试案例需要想到。比如是不是空链表,所有的值会不会都是val,开头和结尾的值如果是val怎么处理等等。解题思路链表的题目大部分都是用双指针,当然解法有很多,双指针是一个比较平常的思路,就是上来就要这样想,这样想做不出来再换思路。当然这个题目比较简单,方法也比较多,大家可以用自己擅长的。我用的是双指针,pre指针指向前一个节点,cur指针指向当前节点,然后再判原创 2021-06-05 09:29:46 · 346 阅读 · 1 评论