Be Me in Real Life

做自己,笑不羁

7-2 Reversing Linked List
https://pintia.cn/problem-sets/16/problems/664

思路:遍历2^n遍,将各个节点按照顺序串成双向链表。然后两个指针一静一动开始遍历,中间间隔k个元素时逆序输出,然后不断循环。最后如果不足K个时顺序输出。

7-3 Pop Sequence
https://pintia.cn/problem-sets/16/problems/665

第一遍做时,为了比较严谨好看,把栈做成了内存动态分配+结构体的形式,类似的还有一个pop序列和对应指针等变量,结果把我给搞晕了,中间有个样例会溢出导致异常,头昏脑胀半天没找出bug。
后来直接重构了代码,栈和pop序列都用了简单的int数组,并且第二遍做的时候思路也更清晰了一点,比较快做完了。

思路比较简单:按照1,2,3,……,n的顺序不断push进栈中,每次push完检测栈顶元素是否和当前pop序列中元素相等(相等就说明该序列是可行的),如果是,就不断pop弹出,然后继续push进栈。这个过程中如果栈满了,那么直接跳出循环。
循环结束后,检测栈和pop序列是否为空,如果是,说明这个序列是一个可能的栈弹出序列(”is a possible pop sequence of the stack.”),输出”YES”。反之如果还有元素,说明不能该序列是不可能的,输出”NO”。

阅读全文 »

7-3 树的同构
https://pintia.cn/problem-sets/15/problems/711

半天没想起来这道题的输入怎么构建一棵树……盯着题看了好久才想起来:首先是用结构体数组存储各节点,一个节点包括data和左、右孩子;其次新建一个数组,标记所有是左/右孩子的节点,最后剩下的唯一个没有被标记过的节点就是树根。

构建好树之后就比较简单了,可以利用二叉树本身的性质,使用递归判断是否是同构。一棵树和另一棵树同构,在树根一样的情况下,当且仅当树根A的左右孩子分别和树根B的左右孩子同构。类似的,可以一直递归到判断两个叶子节点是否相互同构。

7-2 一元多项式的乘法与加法运算
https://pintia.cn/problem-sets/15/problems/710

首先大致思路是做好输入输出之后,先做加法(一是比乘法简单,二是后面乘法也会用到加法)再做乘法。
加法:加法的过程其实和上一道题”两个有序链表的合并“非常相似,只不过这里的合并是按照系数和指数来进行的。上一题的一些坑这里也都有,因为遇到过,也比较容易避开。
乘法:实现了加法之后,乘法其实比较容易。将两个多项式A、B相乘的结果拆分为把多项式A中各项(a,b,c,…)和多项式B相乘的结果 累加。其中一个项a和一个多项式B相乘的结果拆分为一个项a和多项式B中各项(x,y,z,…)相乘的结果 累加。最后再分成一个项a和一个项x的乘积。反过来再利用已实现的多项式加法函数进行累加即可(把一个项视作只有一项的多项式)。

阅读全文 »

主要内容

这一篇主要总结自第七章”C++高级语法”中的第7-14节, 包含面向对象编程的IO部分,主要有:重载输入输出运算符、IO流和两种文件的IO操作(读写文件)。




1. 虚数类的实现——重载输入输出运算符

C++三种限制访问符:

  • private:私有的,只能在类内使用,子类和类外不可以使用
  • protected:保护的,类内和子类可以使用,类外不可以使用
  • public:公有的,类内和类外、子类都可以使用
    重载输入输出运算符并不是通过成员函数的方式,而是要利用到友元函数,只有通过friend关键字,才可以访问内部变量。

除了注意要写friend关键字外,因为友元函数并不是成员函数,所以不需要类作用域限定符

阅读全文 »

1. 大哥债券

特点:风险低收益低,到期还本付息
按时间分:短期(1年以下)、中期和长期(10年以上);
按发行主体分:政府债券(地方政府、中央政府)、金融债券(银行、券商等金融机构)、企业债券(企业债(国有企业背景)、公司债(上市公司,风险最大))

熊市买债券,但债券基金流动性更好。

炒债券:两种低估值债券,堕落天使、小天使。

阅读全文 »

1. 证券市场

  • 按证券发行状况分:
    证券发行市场:发行人(企业或政府)发行新证券的地方,一般他们通过中介(券商/证券公司)来完成;
    证券交易市场:交易已经发行的老证券(竞价拍卖证券),也叫证券交易所。

  • 按投资品分类:
    债券、股票、基金、衍生工具(期货)市场。

    阅读全文 »

1. 基本分析和技术分析

少林:不管外界,只做自己,把自己做大做强(价值派)。代表为金钟罩 铁布衫。
“风声雨声读书,声声入耳,国事家事天下事,事事关心” 需要关注非常多东西(行业、企业、经济形势等等),对股票进行估值。

武当:顺势而为,借助总体趋势(趋势派/技术派)。代表为太极拳。
“两耳不闻窗外事, 一心只看 k 线图。 ” 基本面不用看, 看市场就行了,因为市场包容一切, 基本面因素体现在市场中了。不关注消息,只看K线图。

阅读全文 »

1. 技术分析三大假设:

  1. 市场包容一切
    
    市场价格包括了宏观、行业、公司等所有内容(包括价值派的内容),投资者人人都是理性的,因此所有因素都被考虑在内
    1. 市场是有趋势的,并且趋势一旦形成会持续一段时间
      
      1. 可以通过历史预测未来,因为历史总是重复的
        

技术分析的三大趋势:长期(牛熊)、中期(牛市调整、熊市反弹)和短期趋势。分别是一年及以上、几周到几个月和几天甚至几个小时。
其中预测走势长期最简单,短期最难
技术分析的方法:图形分析(趋势画图)、统计分析(大数据)

阅读全文 »

绝对估值和相对估值

  • 绝对估值法:现金流贴现法。
    准确程度取决于:现金流是否可靠、预期股息、折现率、卖出价格。
  • 相对估值法:P/E估值法、P/B估值法等。
    应当和相同行业的资产状况相比,隔行如隔山,不同行业的估值也不相同。

并且,估值时应当综合考虑到基本面(宏观环境、行业前景、公司护城河),并且通过技术分析把握合适的入场时机。

阅读全文 »
0%