数据结构和算法
我刷到的一些题
逢青丶
这个作者很懒,什么都没留下…
展开
-
leetcode——我贪之贪得无厌之不能再贪之贪心算法(c++系列题目)
我来填坑了,这篇博客给大家带来的是我贪之贪得无厌之不能再贪之贪心算法系列题目,期中很多到题我都是搬的题解,主要是理解其中的思路,如有侵权,联系侵删啊。建议大家自己还是手动去刷一下这些题,这些题都比较经典,手刷一遍印象更深。还有强烈大家关注406和763,这两题不是一般的贪,而是那种神奇巧妙的贪,我愿称其为贪中之贪题目列表455. 分发饼干435. 无重叠区间452. 用最少数量的箭引爆气球406. 根据身高重建队列121. 买卖股票的最佳时机122. 买卖股票的最佳时机II605. 种花问题..原创 2020-08-21 00:19:54 · 606 阅读 · 0 评论 -
leetcode——二分查找系列题目(C++)
题目列表69. x 的平方根744. 寻找比目标字母大的最小字母540. 有序数组中的单一元素278. 第一个错误的版本153. 寻找旋转排序数组中的最小值34. 在排序数组中查找元素的第一个和最后一个位置69. x 的平方根二分查找即可,其中mid的平方可能会超出int的类型,所以转成long long 在比较,由于left+1,可能会去除正确结果,最后在核实一下即可class Solution {public: int mySqrt(int x) { int .原创 2020-07-24 23:27:30 · 557 阅读 · 0 评论 -
leetcode--旋转数组的最小数字(c++)
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个 递增排序 的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2] 输出:1示例 2:输入:[2,2,2,0,1] 输出:0二分法:当 numbers[m] > numbers[right]时: m 一定在 左排序数组 中,即旋转点 x一定在 [m + 1, right] 闭区间内,因此执行 l原创 2020-07-22 23:02:22 · 165 阅读 · 0 评论 -
leetcode--双指针系列题目(c++)
找了一些leetcode双指针系列的简单题目。题目列表167. 两数之和 II - 输入有序数组633. 平方数之和345. 反转字符串中的元音字母680. 验证回文字符串 Ⅱ88. 合并两个有序数组141 给定一个链表,判断链表中是否有环。524. 通过删除字母匹配到字典里最长单词167. 两数之和 II - 输入有序数组题解:使用双指针,一个指针指向值较小的元素,一个指针指向值较大的元素。指向较小元素的指针从头向尾遍历,指向较大元素的指针从尾向头遍历。如果两个指针指向元素的和 sum.原创 2020-07-22 22:50:15 · 406 阅读 · 0 评论 -
剑指offer:给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1)
给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],…,k[m]。请问k[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例1输入8输出18题解思路找出最优解的规律当n等于1,2,3的时候,结果是固定的当n大于3的时候,可以看以下数据n=4, 最优解:2 2n=5, 最优解:3 2n=6, 最优解:3 3n=原创 2020-07-15 23:02:12 · 2476 阅读 · 0 评论