支配值数目-------2012年12月25日

简介:
刚才做的那道题比较简单,再做一道。
          问题描述:已知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[]中所有整数。下面是代码:
 1 #include <stdio.h>
 2 #define MAX 1000
 3 
 4 int f[]={1,3,5,7,9};
 5 int g[]={2,3,4,7,8};
 6 int len_f=sizeof(f)/sizeof(int);
 7 int len_g=sizeof(g)/sizeof(int);
 8 int sum=0;
 9 void count();
10 
11 int main()
12 {
13     int result[MAX]={0};
14     int i,j;
15     int flag_i;
16     for(i=0,j=0;i<len_f&&j<=len_g;)
17     {
18         if(j==len_g)  //如果f[]中,从中间开始就都比g[]大,那么就加起来就可以了
19         {
20             sum+=result[i];
21             for(j=i+1;j<len_f;j++) 
22             {
23                 result[j]=result[i]; 
24                 sum+=result[j];
25             }
26             break;
27         }
28         if(i!=0 && flag_i==1)
29         {
30             result[i]+=result[i-1];
31             flag_i=0;
32         }
33         if(f[i]>g[j]) 
34         {    
35             result[i]++;
36             j++;
37         }
38         else
39         {
40             flag_i=1;
41             sum+=result[i];
42             i++;
43         }
44     }
45     printf("sum is %d\n",sum);
46     for(i=0;i<len_f;i++)
47         printf("%d ",result[i]);
48     printf("\n");
49 }
        
          下面是从资料上找到的另外一种方法,代码非常少。思路与我的很相似,也是因为两个数组都从小到大排序好了,那么,当f[i]>g[j],那么,在f中就一定有len_f-i个元素大于g[j]了。
  
 1 void count()
 2 {
 3     int i=0,j=0;
 4     while(i<len_f && j<len_g)
 5     {
 6         if(f[i]<=g[j]) 
 7             i++;
 8         else
 9             sum+=len_f-i,j++; 
10     }
11 }
          如果您觉得我的文章对您有帮助,请赞一下,非常感谢。
本文转自NeilHappy 51CTO博客,原文链接:http://blog.51cto.com/neilhappy/1099686,如需转载请自行联系原作者
相关文章
|
5天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1133 2
|
4天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
655 11
|
14天前
|
人工智能 运维 安全
|
5天前
|
弹性计算 Kubernetes jenkins
如何在 ECS/EKS 集群中有效使用 Jenkins
本文探讨了如何将 Jenkins 与 AWS ECS 和 EKS 集群集成,以构建高效、灵活且具备自动扩缩容能力的 CI/CD 流水线,提升软件交付效率并优化资源成本。
314 0
|
12天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
830 23
|
5天前
|
缓存 供应链 监控
VVIC seller_search 排行榜搜索接口深度分析及 Python 实现
VVIC搜款网seller_search接口提供服装批发市场的商品及商家排行榜数据,涵盖热销榜、销量排名、类目趋势等,支持多维度筛选与数据分析,助力选品决策、竞品分析与市场预测,为服装供应链提供有力数据支撑。