刚才做的那道题比较简单,再做一道。
问题描述:已知f[]与g[]两个整数数组,元素都已经从小到大排列,请写一个程序,算出f[]比g[]中元素大的对数。换句话说,f[0]比g[]中多少个元素大,f[1]比g[]中多少个元素大,等等,这些值的总和就是要求的答案。举个例子,如果f[]中有1,3,5,7,9,而g[]中有2,3,4,7,8,那么答案就是12。
思路:这个题需要注意的地方就是,两个数组都是从小到大排序的,所以,如果f[1]都大于g[]中所有整数时,那么f[2],f[3]等等都会大于g[]中所有整数。下面是代码:
下面是从资料上找到的另外一种方法,代码非常少。思路与我的很相似,也是因为两个数组都从小到大排序好了,那么,当f[i]>g[j],那么,在f中就一定有len_f-i个元素大于g[j]了。
如果您觉得我的文章对您有帮助,请赞一下,非常感谢。
本文转自NeilHappy 51CTO博客,原文链接:http://blog.51cto.com/neilhappy/1099686,如需转载请自行联系原作者