这是第二篇哦,这些题目应该算是简单的把,我得好好的加油了,坚持下去呢。希望能有所成长。
题目描述:
已知f[]与g[]两个整数数组,元素都已经从小到大排列,试编写程序算出f[]中每一个元素比g[]中元素大的个数的总数。
因为有了第一题的基础,写这个的算法的时候比之前轻松了很多。
具体实现的代码如下所示:
实现的结果为:
后来看了答案之后,发现差距还是很大啊,我在实现的时候用了双重循环,但是答案就简单的用了一个while循环就解决了问题,时间复杂度比我的小,我的算法是f中每个数都从与g中的所有的数相比较。而答案中是利用了f和g都已经排好序,不是所有的数字都进行了比较。受益匪浅啊。具体答案如下所示:
虽然自己不怎么样,但是每天都在学习,相信坚持必会有收获,加油!
参考文献《C语言名题精选百则技巧篇》