自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 每日一题15-使用最小花费爬楼梯

我觉得这个题最大的难点在于理解题意,从下标为0或者为1的地方向上爬。如果从当前的楼梯爬上去了才需要耗费这个台阶的体力值。到达第i阶楼梯可以从第i-1阶向上爬,也可以从第i-2阶向上爬,

2025-06-23 23:16:51 154

原创 每日一题14-打家劫舍

像这种求最优解的题,有一个最简单的方法就是选或者不选。比如说nums = [2,7,9,3,1],比如我选择nums[3]= 1,那么接下来我只能选opt[3],如果我不选nums[4],那么我只能选opt[4],然后在这两个里面取最大值。可以抽象一个递推公式dp[i] = std::max(dp[i-1],dp[i-2] + nums[i])题目描述:简单来讲就是,给定数组arr = [1,2,4,5,7,9] 代表的是抢到的钱,且必须间隔一个抢。

2025-06-16 23:45:23 247

原创 每日一题13-回文子串数量

使用双指针的核心的思路就是依次遍历字符串 ,然后向两边扩散,需要注意的是,这里要考虑的是除了遍历字符串本身外,还要考虑字符串的间隙,即字符串的中心,比如aba,是需要考虑ab ba 之间的间隙的, 可以理解为a_b_a,那么对于n个字符的字符串,它的中心有多少个呢?比如区间[i,j] 的字符串,如果对于区间[i+1,j-1]的字符串是回文字符串,且s[i]== s[j],那么区间[i,j]的字符串也一定是回文字符串。dp[i][j] :表示[i,j]区间的字符串是否是回文串。先全部初始化为false。

2025-06-15 10:59:17 303

原创 每日一题12-不同路径

这个题乍一看感觉像是图论的题目,但是仔细思考会发现,对于每一个ij 的位置,一定是由(i-1,j)的位置和(i,j-1)的位置过来的,而到达(i-1,j)的位置,一定是从(i-2,j),(i-1,j-1)的位置过来的,以此类推,这本质上就是。,而求解重叠子问题,最佳方法就是采用动态规划。

2025-06-13 09:52:33 151

原创 每日一题11-前k个高频元素

这类题目一般是统计有多少个重复的之类的,基本都是优先考虑unordered_map;

2025-06-11 00:17:54 219

原创 每日一题10 -和为k的子数组

【代码】每日一题10 -和为k的子数组。

2025-05-30 00:37:40 172

原创 每日一题9 :有多少小于当前数字的数字

这个题使用暴力就是两重循环,这个思路就不说了,下面介绍一种 使用映射的思路的解法。

2025-05-28 00:03:29 181

原创 每日一题8 区间和、前缀和

输入区间[2,4],那就是3+4+5 求和,我们可以在每次输入的时候把前n个数的和先求出来就可以。对于求子序列、自区间等问题可以用一个小技巧,就是前缀和的思路,比如数组为[1,2,3,4,5]这个题目就是根据输入区间的值,然后求和输出。

2025-05-24 00:14:33 164

原创 每日一题7-长度最小的子数组

这个题相当于是找一个“连续子数组” ,保证它的和最小,这题是经典的滑动窗口题型,当然也可以暴力两个for循环。使用两重for循环 简单明了,但是复杂度是o(n2);下面介绍一种o(n)的算法。

2025-05-22 22:06:35 215

原创 每日一题6 有序数组的平方

这个题如果是让我做的话,我可能直接平方完成后调用std::sort() 复杂度o(nlogn),但是这是力扣算法题啊,如果能直接用api没有意义。分析下:这个最大值一定是最左边或者最右边,然后在这种情况下我们搞两个指针(索引)分别指向数组两端,依次平方后做比较呗,思路也比较简单。

2025-05-20 23:51:12 258

原创 每日一题5-移除数组元素

使用双指针,可以将原问题规模由o(n2)缩减至o(n);搞一个fast指针,这里所谓的指针就是一个下标而已,用来扫描整个数组,如果不是target值就记录下来,如果是的话就扫码下一个,不记录这个值,大致思路就是这样。

2025-05-19 23:50:55 144

原创 计算几何专题1-点在多边形内

如何判断点在多边内?

2025-04-11 20:48:26 174

原创 每日一题4:卡车上的最大单元数

然后,根据卡车的总数量truckSize来尽可能多的装载。这里面有一个难点就是当前可以装载的数量的确定: int nTake = std::min(nNum,truckSize);然后truckSize的数量就依次减少,知道truckSize的数量小于等于0;这个题目咋一看觉得挺难,实际上挺简单的。根据这个例子的模拟我们就很清楚的知道,这个题目的思路:先根据 boxTypes里的子元素,按照第二个元素(单元数)排序,也就是。

2025-04-04 21:55:37 211

原创 每日一题3:分发饼干

题解:采用贪心策略,每次都用最大的饼干来喂胃口最大的,但是需要满足饼干>=胃口。

2025-04-02 01:15:18 263

原创 每日一题2:二叉树最大深度

是指从根节点到最远叶子节点的最长路径上的节点数。

2025-03-31 23:01:57 278

原创 每日一题1:树上最长单色路径

核心思路:采用递归的方式 ,求得左子树的最大值和右子树的最大值,并且当前节点的val 值与左子树的值相同,那么最大路径长度就是左子树的最大值加右子树最大值的最大值加1;递归出口:if(当前节点 ==NULL) return 0;

2025-03-31 22:48:33 251

原创 OpenGL 学习笔记(二)使用OpenGL 绘制三角形

OpenGL 学习笔记(二)使用OpenGL 绘制三角形

2025-03-04 21:50:50 1072

原创 OpenGL学习笔记(一):使用GLFW 和GLEW 库来创建一个窗口

使用OpenGL创建一个窗口

2025-03-04 20:55:08 259

原创 阅读有感:毕业后的5年你干了些什么?

毕业后的5年是人生的黄金期,决定整个人生的未来走向,加油!沉淀自己,铸就辉煌的未来!对于毕业5年的人来讲,一定要认清即将面临的五大挑战。

2025-03-03 21:58:53 175

原创 图形学笔记1-怎样判断点在三角形内

三角形光栅化

2025-02-24 22:37:15 296

原创 文件名在CFileDialog中被截断,文件名显示不全

我遇到这个问题的时候,在网上找了各种答案,也没找到,最后通过自己的各种尝试,解决了问题,看起来文件名是截断了,其实没有截断,只是显示不全,鼠标点击编辑框的时候可以正常显示出来。最后一个参数 是否开启vista 风格,改成false就可以了。

2023-05-11 11:56:42 325 1

原创 从生成中排除失败的原因,平台没有对应起来。

2023-04-05 11:50:50 884 5

原创 char * a [ ] 与char a [ ] 的区别

首先,我们要知道char a [ ] 代表一段连续的地址,表示存储字符型的数据,如char a [10]表示存放10个字符的数组,char *s 代表的是字符数组指针其中s 表示的是字符串hello 的首地址,而不是字符串本身,这个概念一定要清楚。接着我们说char * a [ ] ,这是char a [ ] 和char *s 的结合体,比如:如何理解这句话呢?char * a [ ] 中 [ ] 的优先级大于* ,所以我们先看a[ ],也就是说数组a 中保存的数据类型为char * ...

2022-06-21 18:57:55 1789

原创 C++快速实现冒泡排序总结归纳

冒泡排序的意思总结来讲就是逐个比较数据,将大的“泡(数)”排出来,这也是冒泡排序的由来。如图所示,要比较以上序列数据的大小,首先要进行第一轮排序,找到最大的数,将其放在最以后一位,因此7个数的排序就需要比较6次,由此,对于N个数的排序就需要比较N-1次,定义变量 i 控制每一轮的比较次数,即 i 的取值范围为0~N-1-j。对于上述需要重复操作6次,才能将所有的数进行完整排序,即6趟;考虑使用外循环控制变量j来控制,j的取值范围为0~N-1。代码实现#include <iostr

2021-07-02 20:16:08 205

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除