会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Sean
这世上只有一种成功,就是用你喜欢的方式度过一生
首页
联系
管理
2024年9月16日
使用 O(1) 额外内存删除二叉树
摘要: 这是一个 naive 的做法: void deleteTreeRec(TreeNode *root){ if (root == NULL) return; deleteTreeRec(root->left); deleteTreeRec(root->right); cout << "Deleting
阅读全文
posted @ 2024-09-16 14:40 sparkyen
阅读(27)
评论(0)
推荐(0)
2024年9月15日
二叉树的 Morris 中序遍历——O(1)空间复杂度
摘要: 回顾 问题陈述: 给定一棵二叉树,实现中序遍历并返回包含其中序序列的数组 例如给定下列二叉树: 我们按照左、根、右的顺序递归遍历二叉树,得到以下遍历: 最终中序遍历结果可以输出为: [3, 1, 9, 2, 4, 7, 5, 8, 6] Morris trick Morris 中序遍历是一种树遍历算
阅读全文
posted @ 2024-09-15 14:36 sparkyen
阅读(302)
评论(0)
推荐(1)
2021年6月30日
Qt连连看(三)非核心功能实现
摘要: 主要的界面设计好后,我们来看下非核心功能的实现。由于这块不需要用到稍微复杂的算法,解决起来相对来说容易许多,于是我们选择先实现这部分非核心功能,这块几乎不涉及游戏的核心逻辑。 游戏界面如下: 这时我们需要完成的功能如下: (1) 按下设置按钮,可以设置游戏的花色数和游戏总时长,规定只可成功设置一次
阅读全文
posted @ 2021-06-30 23:52 sparkyen
阅读(177)
评论(0)
推荐(0)
Qt连连看(一)需求分析
摘要: 虽然开发经验并不多,但是结合以往的一点实践项目和理论学习,自认为不管是开发什么工程项目,只要遵循软件工程的构建原则,如选择一个合理的架构体系,再掌握一门语言,利用数据结构组织数据,算法实现想法和功能,最后合理利用现有的软件工具就能做出我们想要的产品 由于连连看这个游戏不需要很复杂的架构组织,解耦等,
阅读全文
posted @ 2021-06-30 09:06 sparkyen
阅读(368)
评论(0)
推荐(0)
Qt连连看(二)界面制作
摘要: 我们先来制作两个简单的页面 一、主界面 要求在main.cpp里面设置对应的槽函数 (1) 点击开始游戏能跳转到游戏界面 (2) 点击帮助能够显示游戏说明,如下 二、游戏界面 要求如下: (3) 初始只有开始游戏、设置、帮助按钮能够按下,其他按键为灰色不能按下 (4) 设置按键按下后弹出下面界面,并
阅读全文
posted @ 2021-06-30 08:57 sparkyen
阅读(358)
评论(0)
推荐(0)
2021年4月10日
蓝桥训练之动态规划
摘要: 入门 数组分组 题意: 一个数组可被分为n组,整个数组的权值被定义为各组内数字之积对1000取模后的总和,求数组的最大权值 思路: 我们用dp[i]表示前i个数分组的最大权值,对于位置i,我们可以枚举最后一个分组的起始位置为j,计算i,j之间的权值,然后更新dp[i]即可。 为了避免过多的计算,我们
阅读全文
posted @ 2021-04-10 21:00 sparkyen
阅读(511)
评论(0)
推荐(0)
2021年3月6日
PTA甲级—常用技巧与算法
摘要: 二分 1010 Radix (25分) 题目的大意是,给你两个数,N1和N2,给定其中一个数的基数,然后求另一个数的基数,使得两个数相等 这题有的地方没有给清楚,感觉有点小问题。给定标签的数不会溢出,而未给定标签的数是会溢出long long的,这点题目没有直接说明,溢出的部分需要用<0去判断。再就
阅读全文
posted @ 2021-03-06 16:50 sparkyen
阅读(517)
评论(0)
推荐(0)
柳婼 の PAT甲级题解
摘要: 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030
阅读全文
posted @ 2021-03-06 10:27 sparkyen
阅读(4031)
评论(0)
推荐(0)
常见数据类型取值范围与10的数量级对照
摘要: 类型名称 取值范围 数量级 int -2^31~(2^31-1) 2^31=2,147,483,648 10^9 unsigned int 0~(2^32-1) 2^32=4,294,967,296 10^9 long long (_int64) -2^63~(2^63-1) 2^63=9,223,
阅读全文
posted @ 2021-03-06 09:47 sparkyen
阅读(779)
评论(0)
推荐(0)
2021年3月5日
PTA甲级—数学
摘要: 1.简单数学 1008 Elevator (20分) 模拟题 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <iostream> #include <map> #include
阅读全文
posted @ 2021-03-05 19:34 sparkyen
阅读(306)
评论(0)
推荐(0)
2021年2月26日
PTA甲级—图
摘要: 1.图的遍历 1013 Battle Over Cities (25 分) 一种方法使用dfs求连通块的个数 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <iostream>
阅读全文
posted @ 2021-02-26 01:18 sparkyen
阅读(144)
评论(0)
推荐(0)
2021年2月18日
PTA甲级—树
摘要: 1.树的遍历 1004 Counting Leaves (30分) 基本的数据结构——树,复习了链式前向星,bfs遍历判断即可 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <
阅读全文
posted @ 2021-02-18 10:23 sparkyen
阅读(206)
评论(0)
推荐(0)
2021年1月28日
PAT甲级—暴力搜索
摘要: 1.BFS 1091 Acute Stroke (30point(s)) 基础的搜索,但是直接用递归会导致段错误,改用队列之后就不会了,这说明递归调用在空间利用率上还是很吃亏的。 #include <cstdio> #include <cstring> #include <string> #incl
阅读全文
posted @ 2021-01-28 11:23 sparkyen
阅读(116)
评论(0)
推荐(0)
2021年1月24日
PTA甲级—链表
摘要: 1032 Sharing (25分) 回顾了下链表的基本使用,这题就是判断两个链表是否有交叉点。 我最开始的做法就是用cnt[]记录每个节点的入度,发现入度为2的节点即为答案。后来发现这里忽略了两个链表初始节点都是一样的情况,于是这里cnt[]的含义变为每个节点被引用的次数,当一个节点被引用两次就说
阅读全文
posted @ 2021-01-24 22:49 sparkyen
阅读(134)
评论(0)
推荐(0)
2021年1月17日
PTA甲级—STL使用
摘要: 1.Stack 1051 Pop Sequence (25分) 简答的栈模拟题,只要把过程想清楚就能做出来。 扫描到某个元素时候,假如比栈顶元素还大,说明包括其本身的在内的数字都应该入栈。将栈顶元素和序列比对即可,相同则弹栈,继续扫描;否则无法生成满足条件的序列。注意栈满时不能入栈 #include
阅读全文
posted @ 2021-01-17 15:21 sparkyen
阅读(219)
评论(0)
推荐(0)
下一页
公告