C学习_做题+感受-1.25

一. 有效括号序列

https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2
我开始做错了,只是简单的把各种括号计数,有左括号就++,有右括号就–,这样最后为0,说明配对成功。
这题还要求括号的配对要按顺序来,就是左括号对应的右括号要先配对,才能出现其它括号(花括号,中括号)的右括号。

增益点:栈空间的使用

有序,要按顺序排列,左括号先有,右括号后有,最右边的左括号要和最左边的右括号配对
栈空间是可以先进后出,后进先出的:这就模拟了最右边的左括号在栈顶,只要最左边的右括号来配对成功,则弹出。
最后查看栈空间是否还有剩余的括号,有就没配对好,没有就配对好了。

对于要求顺序的思路可以想想栈的后进先出。
(思路是这么个思路,但对于C语言的解法,栈空间和开辟一个动态数组是一回事,你还是要看倒数第二个数是不是和新进的右括号配对,对于其它语言应该不一样)

二. 长度为 K 的重复字符子串

https://www.nowcoder.com/practice/4fe306a84f084c249e4afad5edf889cc?tpId=196&tqId=37187&ru=/exam/oj
个人思路:先把字符串前K个数据保存在一个数组里,再判断这个数组是否有重复字符。并不断右移,遍历所有值。

增益点:滑动窗口

把这个K长度想象为一个滑动窗口,将原始的长字符串,分解为一个个遍历后的小字符串解决。

三. 最长重复子串

https://www.nowcoder.com/practice/4fe306a84f084c249e4afad5edf889cc?tpId=196&tqId=37187&ru=/exam/oj
这题想了挺久的,好在完成了(因为没有C的标准答案)。最后和滑动窗口类似,不断缩小窗口大小,遍历所有数组。

增益点:可变动大小的滑动窗口

1)先考虑窗口为最大的情况,原字符串的一半长度
2)滑动窗口减1,再跑一遍。以此类推,直到窗口大小为1.
3)再将起始位置,定位到原始数据的第二个位置,滑动窗口变为(原字符串-1)一半的长度。一次类推,遍历所有字符。

个人感受

如果仅仅是为了获得一份工作,类似的这种oj题(似乎)满足相应的笔试要求(做了机考,也是类似这种题目),那确实是跳一跳能够到的高度。

但是这些题做起来,思考需要时间,真的比不过那些天才。我是切切实实地见过天才,不用高考,靠竞赛就进名校的人,我也曾和他们一起上过课,很多人,不止几个人。有的题目,我一点思路都没有,即使是练过一些题目,换了另一种题型,我就一筹莫展;那些人思考,他们也需要思考时间,但是他们可以做的出来。其中有的人就是搞计算机的,几乎全是童子功,这让我直到大学毕业前,也就是去年,都持有一种观点:有这种天才和他们童子功的存在,我又何必挤入计算机这条路上?

现在嘛,天才就做天才的事,他们去研究算法,研究卫星;我嘛,尽量在放弃前能让学校学习的理论知识能落实,能被应用。说实话,编程语言还是挺有魅力的,和吉他,诗歌差不多,就是偏数学了,我讨厌数学。

在这个做题网站上看到人发帖,说通信工程能干嘛,下面一条评论说“matlab秋招啥用没有”,哈哈,确实,哪家公司没事推动最底层的科技进步呢?也只有研究所和大学会做了。多感受感受,找到热爱的研究目标,读博去了(可能性很低)。

相关推荐

  1. C学习_+感受-1.25

    2024-01-26 06:22:05       57 阅读
  2. <span style='color:red;'>C</span>++<span style='color:red;'>做</span><span style='color:red;'>题</span>

    C++

    2024-01-26 06:22:05      25 阅读
  3. IOS面试object-c 121-125

    2024-01-26 06:22:05       41 阅读
  4. 3月12总结(C/C++真

    2024-01-26 06:22:05       41 阅读
  5. GESP C++ 二级真(2023年12月)T1 小杨

    2024-01-26 06:22:05       18 阅读
  6. C++_第四周总结

    2024-01-26 06:22:05       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-26 06:22:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-26 06:22:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-26 06:22:05       82 阅读
  4. Python语言-面向对象

    2024-01-26 06:22:05       91 阅读

热门阅读

  1. PHP报错信息

    2024-01-26 06:22:05       57 阅读
  2. 1月25日,每日信息差

    2024-01-26 06:22:05       50 阅读
  3. [go] 原型模式

    2024-01-26 06:22:05       55 阅读
  4. JPA单元测试

    2024-01-26 06:22:05       46 阅读
  5. C#获取当前运行时环境信息

    2024-01-26 06:22:05       55 阅读
  6. 【知识---ubuntu和debian之间的关系】

    2024-01-26 06:22:05       48 阅读
  7. ffmpeg读取媒体文件信息

    2024-01-26 06:22:05       64 阅读
  8. 嵌入式流媒体消息分发队列设计

    2024-01-26 06:22:05       50 阅读
  9. 【AI-Pos系列】DeepLabCut 学习

    2024-01-26 06:22:05       53 阅读
  10. windbg:常用指令

    2024-01-26 06:22:05       66 阅读
  11. @EnableEurekaServer

    2024-01-26 06:22:05       49 阅读