子数组的查找 c语言实现

ZZNUOJ_用C语言编写程序实现1149:查找子数组(附完整源码) 给定两个整型数组,数组a有n个元素, 数组b有m个元素,1 阅读详情

CODIA上的题目,一种个人的想法做下记录,可以在IDE上跑通,但是可能存在没有覆盖全部的测试用例。

题目描述


输入一个整数n和长度为n(n>3)的整型数组a,编写函数,将数组中相邻的每3个元素作为一个子数组,然后计算每一个子数组的元素和,找到元素和最大的子数组后,输出其第一个元素的下标。如果有多个子数组的元素和都一样且为最大,则输出第一个最大的子数组的第一个元素的下标。

输入描述

两行:第一行为数组元素个数[1-1000000],第二行为数组元素[-5000-5000],数组元素以空格隔开。

输出描述

一行:最大子数组的第一个元素的下标。

以下是代码实现

#include <stdio.h>

int main()
{
    int n, i, maxsum=0, temp, maxindex=0;
    int a[1000000] = {0};
    scanf("%d", &n);
    if(n<=3)
    {
        printf("Must input n over three!");
    }    
    else
    {
        for(i=0;i<n;i++)
        {
            scanf("%d", &a[i]);
        }
        for(int j=0;j<n;j++)
        {   
            if((j+2)<=n)
            { 
                temp = a[j] + a[j+1] +a[j+2];
                // printf("temp = %d\n", temp);
                if(temp > maxsum)
                {
                    maxsum = temp;
                    maxindex = j;
                }
            }
            else
                break;
        }
    }
    // printf("maxsum = %d\n", maxsum);
    printf("%d", maxindex);
    return 0;
}

已跑通第一个测试用例。

C语言实现判断A数组是否为B数组的子集(附完整源码) 阅读详情

相关推荐

最小循环子数组(C语言)

字符串S,长度为n,如果确定了S是由某子串重复产生的,则我们可以求解求解出字符串S的最长相同前后缀的长度m,则n-m就是最小重复子串的长度,而字符串S的0~n-m范围的子串就是其最小重复子串。比如,有一个字符串"abababab",该字符串可以看成是某个子串重复多次产生的,比如这个重复子串可以是"ab",也可以是"abab"。如果字符串s是由最小重复子串x重复产生的,则最小重复子串x的长度 = s.length - 最长相同前后缀.length。最长且相同的前、后缀是,长度为6的"ababab"

qq_34143141的博客 202

zzulioj--1047查找子数组(kmp)

题目: 1147: 查找子数组 时间限制: 1 Sec 内存限制: 128 MB 提交: 2804 解决: 1630 [提交] [状态] [讨论版] [命题人:admin] 题目描述 给定两个整型数组,数组a有n个元素, 数组b有m个元素,1<=m<=n<100,请检验数组b是否是数组a的子数组。若从数组a的某个元素a[i]开始,有b[0]=a[i],b[1]=a[i+1],...

weixin_44606952的博客 560

ORBSLAM3运行记录(单目+IMU)

ORBSLAM3运行记录1.单目+IMU数据集运行记录自己做的其它测试2.单目+IMU自己采集数据运行记录测试结果 1.单目+IMU数据集运行记录 ORBSLAM3没有预留ROS下单目+IMU的结点,这个需要自己去写代码添加,可以参考这篇博客,《ORBSLAM3 用ROS接口运行双目IMU和单目IMU模式》。我的ROS结点为Mono-IMU,字典文件ORBvoc.txt在ORBSLAM3 / Vocabulary文件夹中,配置文件EuRoC.yaml在ORB_SLAM3 / Examples / Monoc

yys2324826380的博客 1万+

[C语言]在一个数组里查找另一个数组

【代码】在一个数组里查找另一个数组。

weixin_46855342的博客 669

Kali使用Metasploit内、外网渗透windows系统

Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。 一、(内网渗透)内网英文缩写WAN;内网又称局域网 局域网的覆盖范围一般是方圆几千米之内,其具备的安装便捷、成本节约、扩展方便等特点使其在各类办公室内运用广泛。局域网可以实现文件管理、应用软件共享、打印机共享等功能,在使用过程当中,通过维护局域网网...

QQ670663的博客 2万+

MEG预处理-Brainstorm

Brainstorm下载和安装 去Brainstorm官网进行下载:打开网页后,点击左侧Download;在跳出来的界面中进行简单的注册,注册完成后可以进行下载 解压后得到“brainstorm3”的文件夹,里面包含Brainstorm工具包的所有文件,把这个文件夹放在某个路径如"E:\matlab_tools\brainstorm3"即可 同样在某个路径建立空的文件夹命名为:brainstorm_db用于工具包运行过程中自动存储生成的文件,所以这个文件中生成的数据不要手动移动删除 在Matlab中,把.

AxeChen的博客 6124

(蓝桥杯)c/c++判断数组中是否含有另一个数组,蔡基姆拉尔森公式,判断星期几

这两个操作,一个是用时间取余7,就是要过了一年/一月的1号是周几,第二个就是把num变成周几,防止加上上一个周几后大于7。注意,每年的1,2月份要当做上一年的13,14月份来算,且均为整除。如果是按照正常的算法来计算周几,取1年1月1日为周一。设星期为w,年份为y,月份为m,日期为d。判断数组中是否含有另一个数组。输入asd asdas d。主要就是要注意如何挨着判断。1.年份非整且能被4整除。2.年份能被400整除。

qq_30534253的博客 1325

innovus中path group 的策略和应用(上)

在所有的后端工具里边,有三个重要的引擎:auto-place,CTS,auto-route三个。这里边的auto-place是决断了整个设计时序的基点。。当然,就算是到了CTS/route阶段后,也可以继续利用auto-place数据优化的功能,在数据库上做数据路径增量优化(optDesign -increment)。可以说,数据路径的优化手段,实际上是贯穿在整个后端流程上的。。看看这其中的奥妙和有趣的事情。ICer GO!

i_chip_backend的博客 4217

zzulioj 1147: 查找子数组

1147: 查找子数组 题目描述 给定两个整型数组,数组a有n个元素, 数组b有m个元素,1<=m<=n<100,请检验数组b是否是数组a的子数组。若从数组a的某个元素a[i]开始,有b[0]=a[i],b[1]=a[i+1],…,b[m]=a[i+m],则称数组b是数组a的子数组。 输入 输入第一行为两个整数n和m;第二行为数组a的n个整数;第三行为数组b的m个整数,各数据之间...

曹氏阿七的博客 1631

【ACP】2025-最新-疑难题解析- 练习二汇总

全球加速是优化公网访问的,负载均衡是分发流量的,公网 NAT 网关是处理公网 IP 的,高速通道是建私网连接但不直接提供固定私网地址功能。C 是客户端加密方式,D 是 ECS 云盘加密,都不属于 OSS 服务器端加密。某企业想使用云服务器 ECS + 负载均衡 SLB + 弹性伸缩 (Auto Scaling) 的架构搭建一个企业级门户网站,技术负责人对于负载均衡和弹性伸缩配合使用没有经验,于是将他理解的两种产品配合使用的一些技术细节列成了一个表单,并请作为架构师的您帮他做一下鉴别,以下哪些项是正确的?

jundao1997的专栏 295

YOLOv11改进 - 卷积Conv | SPD-Conv空间深度转换卷积优化空间信息编码,攻克小目标检测难题

本文介绍了一种名为SPD-Conv的新型CNN构建块及其在YOLOv11中的结合。传统CNN在处理低分辨率图像或小物体时,因使用步长卷积和池化层导致细粒度信息丢失、性能下降。SPD-Conv由空间到深度(SPD)层和非步长卷积(Conv)层组成,完全消除卷积步长和池化层,避免信息损失。SPD层重排特征图元素将空间信息转换到深度维度,非步长卷积层进一步处理特征图。我们将SPD-Conv集成进YOLOv11,实验证明其在低分辨率图像和小物体检测任务上显著优于现有模型。

魔改工程师的博客 1141

1149 : 查找子数组

                                      通过此题,找到自身知识上的不足   题目描述   给定两个整型数组,数组a有n个元素, 数组b有m个元素,1&lt;=m&lt;=n&lt;100,请检验数组b是否是数组a的子数组。若从数组a的某个元素a[i]开始,有b[0]=a[i],b[1]=a[i+1],......,b[m]=a[i+m],则称数组b...

寂纱 589

GameFramework框架详解之 Network网络框架

NetworkManager只负责维护NetworkChannel,实际的有种我们简历网络连接的也是NetworkChannel作为一个网路频道,这样管理起来比较方便,比如:一个游戏可能有多个网络连接,那么我们建立多个网络频道即可,或者当我们一个网络频道断线后,我们可以直接再新建一个,防止数据混乱。/// /// 网络管理器。/// /// 网络频道。/// 用户自定义网络错误事件。/// 检查是否存在网络频道。/// 获取网络频道。/// 获取所有网络频道。

TxNet 3366

1147: 查找子数组

1147: 查找子数组 时间限制: 1 Sec 内存限制: 128 MB 提交: 3600 解决: 2129 [状态] [讨论版] [提交] [命题人:admin] 题目描述 给定两个整型数组,数组a有n个元素, 数组b有m个元素,1<=m<=n<100,请检验数组b是否是数组a的子数组。若从数组a的某个元素a[i]开始,有b[0]=a[i],b[1]=a[i+1],…,b[...

YGGZZZ的博客 461

TI单芯片毫米波雷达1642demo代码走读(一)

今天我们来实际看下代码。 首先使用CCS软件导入demo工程,工程有两个,一个是ARM的工程,工程名是mmw_mss_16xx;另一个是DSP的工程,工程名为mmw_dss_16xx。我们将这两个工程的主函数打开,分别位于mss_main.c和dss_main.c文件中。 先看mss的主函数,代码如下。我为每行代码都加了中文注释和自己的理解。 int main (void) { Task_Params taskPara...

1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

CAPL脚本数组问题:在数组中查找某一个值或者查找子数组

CAPL 脚本中在一个数组中查找某个值 CAPL 脚本中在一个数组中查找某一些值 CAPL 脚本中在一个数组中查找是否有子数组

蚂蚁小兵 5560

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

分治——求最大子数组

问题描述 给定一个数组array[],数组元素均为整数(有正有负),求取其中一部分字串,使其和最大,输出最大的和与该字串的在原数组的头尾位置。 问题分析 1、暴力求解:在数组长度为nnn的数组中两两组合共有Cn2C^2_nCn2​种,因为Cn2=Ω(n2)C^2_n = \Omega(n^2)Cn2​=Ω(n2),因此这种方法的时间复杂度为O(n2)\Omicron(n^2)O(n2). 2...

Dainelcw 1331

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

zznuoj1149 : 查找子数组 C语言

int main()for(i=0;i<n;i++)for(i=0;i<m;i++)for(i=0;i<n;i++)index=i;for(j=0;j<m;j++)if(a[i+j]!=b[j])break;if(j==m)break;if(j==m)elsereturn 0;

2401_87828549的博客 268

计算机二级C语言排序真题:当选择排序遇上指针传参,我差点被绕晕!

摘要:本文分享了一道计算机二级C语言程序设计真题的解题思路,题目要求编写函数实现数组元素的最值查找与交换。文章详细解析了如何通过指针参数实现选择排序的核心操作,重点分析了指针运算(data+i)如何动态划定子数组范围,以及查找过程中容易出现的比较对象错误问题。通过完整代码展示和分步讲解,揭示了这道题考察的选择排序本质、指针传参技巧和动态数组处理能力。解题心得强调了理解指针运算和避免惯性思维的重要性,对备考计算机二级考试的考生具有实用参考价值。

a1320657572的博客 204

力扣(LeetCode)209. 长度最小的子数组(C语言)

一题双解。

墨染 502

C语言 | Leetcode C语言题解之第209题长度最小的子数组

C语言 | Leetcode C语言题解之第209题长度最小的子数组

m0_59237910的博客 302

连续子数组的最大和

#include bool isvalid = false;//全局标识位,标识find_max返回的0是0值还是因为输入有误返回的0 int find_max(int a[], int len, int *pstart, int *pend) { if(a==NULL || len<=0 || pstart==NULL || pend==NULL) { isvali

xc889078的专栏 557

C语言练习(1)——数组匹配

记录小白的刷题日常!

AZ10000000的博客 2175

分治法:寻找最大子数组

#include #define MAGIC -999999 /* 子数组结构体 */ struct sub_array{ int low; int high; int sum; // 子数组的和 }; struct sub_array find_max_crossing_subarray(int a[], int low, int mid, int high); struct sub

litoujkl的专栏 453

解题力扣560.和为K的子数组

整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例1: 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 int subarraySum(int* nums, int numsSize, int k){ int count=0,i,j,sum; for(i=0;i<numsSize;i++) { sum=0; for(j=i;j<numsSize;

juyalicool的博客 308
上一篇: 单词的逆序输出 c语言实现
下一篇: python实现 小鱼的航程(改进版)
DeepTravel
博客等级 码龄6年 312粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值