- 博客(11)
- 收藏
- 关注
原创 C语言检测按键按下与松开
思路:GetAsyncKeyState函数可以检测指定键处于松开或者按下的状态,但是不能在需要使用的时候再去调用这个函数,具体是什么原因读者可以自行百度;而是用一个变量维护比如‘j’按键的状态,再用一个循环实时维护这个变量;今天做贪吃蛇加速功能的时候遇到了这个问题,我要实现的功能是在wasd控制方向的基础上,新增按住j加速的功能。实现同时检测wasd的输入和j的输入也是一个难点,但是由于我的代码没整理好,故不展开讨论。如有更好解决方案,欢迎共同讨论。
2025-02-28 00:48:15
212
原创 n 个结点的二叉树有多少种不同的形态
对于第三种情况,左子树有 1 个节点,右子树有 1 个节点,根据前面的推导,有 1 种形态。因此,当 n=3 时,共有 5 种形态。以此类推,当 n 个节点时,我们可以将其分为 n 种情况,每种情况的形态数量为 f(i)×f(n-i-1),其中 i 表示左子树的节点数量,f(i)表示 i 个节点的二叉树的形态数量。最后,我们可以得到 n 个结点的二叉树的不同形态数量的通项公式为:f(n)=∑(i=0 to n-1) f(i)×f(n-i-1)。当 n=2 时,有两种形态,即根节点有左子节点或右子节点。
2024-11-01 14:11:04
517
原创 lecode5-最长回文串 中心扩散法-7ms
我发现算法进步的阻力很多时候都是畏难心理,最近在学习动态规划,这道题我虽然用暴力解法做出来了,但是我需要学习的是动态规划解法,冗长的官方题解让我产生了畏难心理,但是最后我还是硬着头皮学下去,最后写出了中心扩散法,特别开心,感受到了学习算法的快乐,遂有了这篇文章。
2024-05-10 22:17:15
395
原创 用二维指针输入二维数组
问题来源:在Lecode刷题的时候二维数组是用一个二维指针来传递的,虽然该参数已经带有值,不用再用scanf输入,但是我们如何利用二维指针对一个二维数组进行输入呢?从上面这种写法就能看出问题出在哪里了,其实就是二维指针导致不知道所指向的数据它每一所占的位置大小。(又或者是因为p只是指向了二维arr,但是并没有拿到arr里面各个一维数组的值,才导致上面的报错)但如果这样用二维指针输入,会报错。先看一般是如何输入二维数组的。如有错误,欢迎指正!
2024-05-06 23:53:28
416
原创 用栈解决汉密尔顿Hamilton回路问题
然后我想看一下别人的代码的运行过程,就给他每一次探测都加一次输出,结果他的代码也跑不动了,23333。国际象棋的马在一个M行,N列的棋盘(M,N为大于等于6的偶数,并且abs(M-N)
2024-04-08 00:06:10
715
1
原创 vs2022调试跳过if语句内语句
vs2022会跳过无意义代码,如果出现这种问题,请检查是否存在a=x号写成a==x,或者a+=x写成a+x的错误。进一步分析,发现不仅是在if语句内,在全局中,编译器也都不会运行无意义的代码,如。if语句中的=写成了==,故无实际作用,且编译器不会报错。今天写排序二叉树的删除函数时发现该问题。:if内语句无实际作用。
2024-04-01 16:13:53
477
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人