![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 71
来自比邻星
菜鸟一枚
展开
-
栈的使用-四则运算计算器
计算机在计算四则运算表达式时,不能直接计算中缀表达式,而要把表达式转换为逆波兰表达式,然后再进行求解。所以四则运算表达式求解主要分为两个步骤:中缀表达式转换为后缀表达式计算后缀表达式的值两个步骤都需要借助栈来完成。下面详细介绍两个步骤的实现思路:1.中缀表达式转换为后缀表达式核心思想:假设我们以字符串形式输入中缀表达式,此时我们还需要一个变量convertRes来储存后缀表达式结果。假设没有空格和制表符等其他额外字符,我们用名为optSymbo的栈来储存运算符,用index来表示当前遍历到的原创 2021-09-27 23:20:24 · 310 阅读 · 0 评论 -
算法-动态规划-跳台阶
leetcode中有一个类型的题目是动态规划经常考察的点——斐波那契数列。跳台阶的问题是斐波那契数列的变种问题,总体思路上没有什么太大变化。1.跳台阶easy先来看这道题剑指 Offer 10- II. 青蛙跳台阶问题。题目描述如下:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:原创 2021-09-23 15:54:27 · 737 阅读 · 0 评论 -
C++11智能指针shared_ptr,weak_ptr以及循环引用的问题
1.智能指针通常内存管理中存在以下问题:重复析构(释放)同一块内存导致程序运行崩溃例如,如果类中有指针成员,浅拷贝造成两个对象的指针成员指向同一个内存。当程序运行结束,一块内存被析构了两次。有些资源的内存被释放,但是其指针并未被修改指向。void test(){ int *dp = new int[10]; delete dp[]; //忘记添加dp = nullptr;}上面这种情况导致后续万一在该函数使用了dp指针,造成程序崩溃。这是因为虽然delete虽然释放了内原创 2021-09-01 10:25:24 · 567 阅读 · 0 评论 -
【VSCode】解决“终端将被任务重用,按任意键关闭”问题
前几天使用vscode编译程序,然后吃了个饭回来发现调试程序时不能打开终端,然后就找教程。分别尝试了不同的办法:修改task和launch文件,没效果。然后把我另一台电脑里的文件拷贝过来,修改了编译器的文件配置路径,同样没效果。卸载软件重新安装,没效果。网上有教程说需要修改vscode文件的路径,因为里面带有空格。关于vscode出现终端进程终止,退出代码:1的情况,这显然是错误的,因为微软的很多软件安装的路径都是带有空格的,显然不是这个问题。另外一种比较可信的说法是(vscode运行c语言出现“原创 2021-08-14 10:24:56 · 15559 阅读 · 13 评论 -
PTA乙级题目练习-卡拉兹(Callatz)猜想
卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,简单原创 2020-08-17 17:35:57 · 712 阅读 · 0 评论 -
NAO机器人C++开发环境配置出错的问题
最近开发NAO机器人,python开发环境安装都是轻而易举,但是C++开发环境安装却一直不成功。尝试了很多次,都卡在Cmake软件为qibuild选择编译环境那个地方了。在使用pip包管理工具安装好qibuild后,使用qibuild config --wizard配置编译环境,正常情况下,出来的应该是下面的界面:但是,我的列表始终出不来,尝试多次无效。我发现命令窗口里面提示是这样的:...原创 2020-01-14 22:41:36 · 414 阅读 · 0 评论