Leetcode—1588.所有奇数长度子数组的和【简单】

news2025/1/8 2:35:54

2023每日刷题(十九)

Leetcode—1588.所有奇数长度子数组的和

在这里插入图片描述

直接法实现代码



int sumOddLengthSubarrays(int* arr, int arrSize){
    int i = 1;
    int sum = 0;
    int left = 0, right;
    int k;
    int j = 0;
    while(i <= arrSize) {
        for(left = 0; left < arrSize; left++) {
            right = left + i;
            k = left;
            if(right <= arrSize) {
                while(k < right) {
                    sum += arr[k++];
                }
            } else {
                break;
            }
        }
        j++;
        i = 2 * j + 1;
    }
    return sum;
}

运行结果

在这里插入图片描述

枚举法实现代码



int sumOddLengthSubarrays(int* arr, int arrSize){
    int ans = 0, sum;
    for(int i = 0; i < arrSize; i++) {
        for(int j = i; j < arrSize; j++) {
            if((j - i + 1) % 2 == 1) {
                sum = 0;
                for(int k = i; k <= j; k++) {
                    sum += arr[k];
                }
                ans += sum;
            }
        }
    }
    return ans;
}

运行结果

在这里插入图片描述
时间复杂度 O ( n 3 ) O(n^3) O(n3),空间复杂度 O ( 1 ) O(1) O(1)

改进的实现代码



int sumOddLengthSubarrays(int* arr, int arrSize){
    int ans = 0, sum;
    for(int i = 0; i < arrSize; i++) {
        sum = 0;
        for(int j = i; j < arrSize; j++) {
            sum += arr[j];
            if((j - i + 1) % 2 == 1) {
                ans += sum;
            }
        }
    }
    return ans;
}

时间复杂度 O ( n 2 ) O(n^2) O(n2),空间复杂度 O ( 1 ) O(1) O(1)

运行结果

在这里插入图片描述

前缀和实现代码



int sumOddLengthSubarrays(int* arr, int arrSize){
    int *preSum = (int *)malloc(sizeof(int) * (arrSize + 1));
    preSum[0] = 0;
    for(int i = 0; i < arrSize; i++) {
        preSum[i + 1] = preSum[i] + arr[i];
    }
    int ans = 0;
    for(int i = 0; i < arrSize; i++) {
        for(int j = i; j < arrSize; j++) {
            if((j - i + 1) % 2 == 1) {
                ans += preSum[j + 1] - preSum[i];
            }
        }
    }
    free(preSum);
    return ans;
}

时间复杂度 O ( n 2 ) O(n^2) O(n2),空间复杂度 O ( n ) O(n) O(n)

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1171046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手把手创建Android应用程序·案例程序分析

目录 1. Activity 组件 MainActivity 类 2.布局文件activity_main. xml 3.应用程序配置文件 AndroidManifest.xml 4. Android的应用程序组件 4.1 Activity——活动 4.2 Service——服务 4.3 Broadcast receiver——广播接收器 4.4 Content provider——内容提供者…

VulnHub DC-4

一、信息收集 1.nmap扫描 ┌──(root&#x1f480;kali)-[~/routing] └─# nmap -sS -A 192.168.103.194/24发现开放了22、80端口 ┌──(root&#x1f480;kali)-[~/routing] └─# nmap --scriptvuln -p22,80 192.168.103.194--scriptvuln 是nmap中script模块&#xff0…

CoT进阶:Self Consistency, Least-to-most

CoT进阶 一&#xff1a;Self Consistency1.1 方法简介1.2 实验1.3 结果 二&#xff1a;Least-to-most2.1 方法简介2.2 示例2.3 结果 一&#xff1a;Self Consistency 题目: SELF-CONSISTENCY IMPROVES CHAIN OF THOUGHT REASONING IN LANGUAGE MODELS 机构&#xff1a;Google …

GitLab CI/CD 持续集成/部署 SpringBoot 项目

一、GitLab CI/CD 介绍 GitLab CI/CD&#xff08;Continuous Integration/Continuous Deployment&#xff09;是 GitLab 提供的一种持续集成和持续部署的解决方案。它可以自动化软件的构建、测试和部署过程&#xff0c;以便开发者更快地、更频繁地发布可靠的产品。 整体过程如…

检查AirPods的电量至少有六种方法,难易明细的都有

本文提供了六种方法,包括使用iPhone或iPad、询问Siri以及检查AirPods手机壳本身的多种选项。 如何使用保护壳检查AirPods的电池 一个简单的方法是查看AirPods保护壳上的指示灯,以获取电池电量信息;这个选项没有其他选项那么详细。 把耳塞放进盒子里,然后检查一下灯的颜色…

混合整数非线性规划求解器SCIP初探

简介 SCIP是目前最快的混合整数线性规划(mixed integer programming,MIP)和混合整数非线性规划(mixed integer nonlinear programing, MINLP)的求解器之一。到本文记录时&#xff0c;SCIP的版本已经到了8.0.4。 SCIP可以使用不同的编程语言来访问&#xff0c;对于Python有官方…

【多线程】线程的创建

创建线程如下几个方法&#xff1a; 目录 继承Thread类 调用start方法启动线程 调用run方法 实现Runnable接口 实现Callable接口 继承Thread类 调用start方法启动线程 public class TestThread extends Thread{//继承Thread类//重写run方法public void run(){for(int i0…

C#文件操作从入门到精通(3)——Txt文件读写操作

前言: 我们在开发c#程序时,经常需要对txt文本文件进行操作,有时候是读取txt文本中的内容,有时候是将程序运行过程中的一些数据写入到txt文本中做记录,为了帮助大家学习txt文本的操作,我特意开发了一个“txt文件操作学习”winform小软件,该软件调用了我封装的txt文件操作…

[尚硅谷React笔记]——第9章 ReactRouter6

目录&#xff1a; 课程说明一级路由重定向NavLink高亮useRoutes路由表嵌套路由路由的params参数路由的search参数路由的state参数编程式路由导航useRouterContextuseNavigationTypeuseOutletuseResolvedPath()总结项目地址 1.课程说明 概述 React Router以三个不同的包发布…

【C++】红黑树模拟实现STL中的map与set

红黑树里面具体存的是什么类型的元素&#xff0c;是由模板参数 T 来决定&#xff1a; 如果 T 是 Key 那么就是 set。 如果 T 是 pair<const Key, V>&#xff0c;那么就是 map。 1、定义红黑树的节点结构 // 定义红黑颜色 enum Colour {RED,BLACK };template<class …

memcpy()之小端模式

函数原型 void memcpy(voiddestin, const void *src, size_t n); 功能 由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。 头文件 #include<string.h> 返回值 函数返回一个指向dest的指针。 例1&#xff1a;如果用来复制字…

wordpress版本识别

wordpress版本识别 1.通过RSS Feed识别 RSS Feed参考 访问网站/feed或者?feedrss 例如 默认结构&#xff1a;https://www.example.com/?feedrss2 其他结构&#xff1a;https://www.example.com/feed/ 返回结果中搜索 generator 可以看到直接是5.9.7版本 2.wpscan等工具扫一…

Java8 Stream API全面解析——高效流式编程的秘诀

文章目录 什么是 Stream Api?快速入门流的操作创建流中间操作filter 过滤map 数据转换flatMap 合并流distinct 去重sorted 排序limit 限流skip 跳过peek 操作 终结操作forEach 遍历forEachOrdered 有序遍历count 统计数量min 最小值max 最大值reduce 聚合collect 收集anyMatch…

用WebStorm运行VUE项目

提示&#xff1a;原来用VS Code开Vue&#xff0c;可是VS Code用Ctrl打不开国际化&#xff0c;下载推荐插件也不好使 文章目录 下载WebStorm运行WebStorm实用插件 下载WebStorm 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; https://www.jetbrains.com/webs…

国家管网集团古浪—河口天然气联络管道工程实现投产

10月26日&#xff0c;国家管网集团古浪—河口天然气联络管道工程实现“绿色”投产&#xff0c;进一步完善西北地区多通道供气网络&#xff0c;对于推动甘肃省“一核三带”新发展格局构建、提高“全国一张网”在甘青地区的供应保障能力具有重要意义。 古浪—河口天然气联络管道…

SpringBoot条件注解底层原理

一、简介 相信大家在学springBoot自动装配的时候会遇到下面这些条件注解&#xff0c;当存在其指定的条件&#xff0c;才会把对应的bean注入到IOC容器中。本博客旨在揭开其神秘的面纱&#xff01; 其实说白了&#xff0c;springBoot的这些注解只是针对普通spring框架中Conditi…

JSP 学生成绩查询管理系统eclipse开发sql数据库serlvet框架bs模式java编程MVC结构

一、源码特点 JSP 学生成绩查询管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;比较流行的servlet框架系统具有完整的源代码和数据库&#xff0c;eclipse开发系统主要采用B/S模式 开发。 java 学生成绩查询管理系统 代码下载链接…

CorelDRAW2023最新版本号24.5.0.731

CDR2023是一款近年来备受瞩目的工具软件&#xff0c;它提供了数据存储、分析以及处理的能力。但是&#xff0c;对于许多用户来说&#xff0c;CDR2023到底好用不好用还需要进行深入的分析和探讨。在本文中&#xff0c;我们将从多个角度分析CDR2023这款软件。 CorelDRAW2023版win…

【JMeter参数化】上一个接口返回作为下一个接口入参

前言: 实际工作场景当中,比如获取到商品列表,并查看商品详情。如果将商品id写死,就很笨拙。所以我们可以进行参数化动态去更新商品id 目录 场景1:接口A仅取一个值,作为接口B的入参 场景:接口A是获取教师列表中某个教室的id,接口B是查看该教师的详情页步骤: 1.获取接口…

DC系列 DC:4

DC:4 靶机 文章目录 DC:4 靶机信息收集IP端口收集网页信息收集网站信息收集bp爆破 反弹shellnc反弹 内网信息收集收集jim用户的密码密码爆破 Charles用户密码收集 提权teehee提权 备注 信息收集 IP端口收集 用arp-scan 网段锁定ip nmap对端口服务进行详细扫描nmap -p- -sV …