以为自己会坚持不下去的,但是今天已经是第三天了,有人说坚持做一件事情21天就会形成习惯,我最近也在看《习惯的力量》这本书,虽然才看一点,但是不得不感慨习惯拥有的无穷力量啊。等我看完了,再来写一篇读后感来分享把。
等值数目问题和之前的最长平台问题还有支配值数目问题是一个系列的,在之前的两题基础之上,今天做这题的时候感觉简单了一点了,难道这是在说明自己有进步吗?又在幻想了。。。。。。
等值数目问题描述
问题描述:已知两个整型数组f[]和g[],它们的元素都已经从小到大排列,并且每个数组中的元素各是各不相同的。例如,f[]中可能是1,3,4,7,9而g[]中可能是3,5,7,8,10。请写一个程序算出这两个数组中有多少组元素是相等的。例如f[2]=g[1]=3,f[4]=g[3]=7,因此上面的例子有两组。
在之前的问题的基础之上,学习了之前两题的答案,对自己写这个算法有了一点算是改进把。其实主要的思想还是来自于昨天的支配值数目问题。
具体的代码如下所示:
其实关键还是利用了f和g两个数组已经完全派好序了哇,所以就简化了算法。具体是实验结果如下所示:
做完了之后去看了下答案,基本的思路还是一致的,我就不把答案贴上去了哇,当然啦,我是学的支配值问题中的方法,所以在脚码的使用上也是一样的,但是真的是我自己做的哦。
一定要继续坚持下去,fighting!
参考文献《C语言名题精选百则技巧篇》