每日一题(leetcode2909):单份查找与群组查找

如果按照简单的方式,逐个查找中间元素(往两边扩散),那么复杂度会是n方。

这种方式没有对比较大小后的数据进行充分利用,所以复杂度较高。

我们考虑到既然要遍历,那么不妨干脆先把所有元素的左边最小值和右边最小值都计算出来,这样可以最大的有效利用比较方式。即创建左边最小数据和右边最小数据,最终配合原数组和条件语句便可以计算出结果,复杂度3n的样子。代码如下:

class Solution {
public:int minimumSum(vector<int>& nums) {int minres=300001000;int l=nums.size();vector<int> left;vector<int> right;left.push_back(minres);right.push_back(minres);int min1=nums[0];int min2=nums[l-1];for(int i=0;i<l-1;i++){if(nums[i]<min1) {min1=nums[i];}            left.push_back(min1);}for(int i=l-1;i>0;i--){if(nums[i]<min2) {min2=nums[i];}            right.push_back(min2);}int k=0;for(int i=1;i<l-1;i++){if(nums[i]>left[i] && nums[i]>right[l-1-i]){k=1;if (nums[i]+left[i]+right[l-1-i]<minres){minres=nums[i]+left[i]+right[l-1-i];}}}if (k==0){minres=-1;}return minres;}
};

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

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

相关文章

《HelloGitHub》第 96 期

兴趣是最好的老师&#xff0c;HelloGitHub 让你对编程感兴趣&#xff01; 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等&#xff0c;涵盖多种编程语言 …

ZYNQ学习之Ubuntu下Linux文件系统与用户权限

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ 一、Linux 文件系统 1.1 Linux 文件系统简介以及类型 操作系统的基本功能之一就是文件管…

JavaScript练手小技巧:仿米哈游官网人物跟随鼠标位移效果

最近&#xff0c;有同学找到我&#xff0c;说&#xff1a;老师&#xff0c;我想模仿米哈游官网。 我说&#xff1a;可以&#xff0c;很不错的。 她说&#xff1a;有些效果有点难&#xff0c;能不能帮我看下。 于是&#xff0c;我就简单大概粗糙的讲解了下大致的原理&#xf…

2024 ccfcsp认证打卡 2022 06 01 归一化处理

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(); // 输入数字的个数int[] a new int[1010]; // 创建一个数组来存储输入的数字double sum 0; // 用于计算所有输入数字的总…

Let`s move - sui move开发实战-dao(3)

引言 经过之前的学习&#xff0c;准备进行实战开发一个简单的dao项目&#xff0c;实现一个去中心化自治组织&#xff0c;用于管理共享资金、社区任务、提案和投票等功能&#xff0c;本篇文章分享了提案模块、错误定义。 提案设计 关于提案模式的具体设计&#xff1a; dao m…

Android开发 OCR:通过Tesseract实现图片文字识别

下面是整个详解步骤过程 效果图一、OCR的含义二、什么是Tesseract三、前提准备1、添加依赖2、数据文件下载路径 四、实际代码案例Demo如下&#xff1a;Main.xmlMain.java 效果图 流程&#xff1a;获取assets中的图片显示到页面&#xff0c;提取照片内的文字 一、OCR的含义 o…

综合实验1

一、配置IP地址 [AR1]int g0/0/0 [AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 [AR1-GigabitEthernet0/0/0]int se4/0/0 [AR1-Serial4/0/0]ip add 15.1.1.1 24 [AR1-Serial4/0/0] [AR2]int g0/0/0 [AR2-GigabitEthernet0/0/0]ip add 192.168.2.254 24 [AR2-Giga…

Android 12.0 mtp模式下连接pc后显示的文件夹禁止删除copy重命名功能实现

1.前言 在12.0的系统rom定制化开发中,usb连接pc端的时候有好几种模式,在做otg连接pc端的时候,改成mtp模式的时候,在pc端可以看到产品设备 的显示的文件夹的内容,对于产品设备里面的文件在pc端禁止做删除重命名拷贝等操作功能的实现 2.mtp模式下连接pc后显示的文件夹禁止删…

Docker 容器编排利器 Docker Compose

文章目录 一、Docker Compose 简介二、Docker Compose 安装2.1 Mac、Windows 平台默认支持2.2 Linux 安装(通过包管理)2.2.1 安装2.2.2 测试2.2.3 卸载 2.3 使用PIP 安装与卸载2.3.1 PIP安装2.3.2 PIP 卸载 三、基本使用3.1 术语3.2 部署Flask 应用 四、Compose 常用命令4.1 命…

机器学习——LightGBM算法

机器学习——LightGBM算法 摘要&#xff1a; LightGBM是一种高效的梯度提升框架&#xff0c;它在处理大规模数据时表现出色&#xff0c;并且具有较快的训练速度和较低的内存消耗。本文将介绍LightGBM算法的原理、特点以及与传统GBDT算法的区别&#xff0c;并使用Python对其进行…

什么样的人适合学习网络安全?怎么学?_

有很多想要转行网络安全或者选择网络安全专业的人在进行决定之前一定会有的问题&#xff1a;什么样的人适合学习网络安全&#xff1f;我适不适合学习网络安全&#xff1f; 会产生这样的疑惑并不奇怪&#xff0c;毕竟网络安全这个专业在2017年才调整为国家一级学科&#xff0c;…

pandas在循环中多次写入数据到一个excel防止锁定的方法

啥都不说&#xff0c;都是泪&#xff0c;直接上代码: # 在循环中多次写入数据 for i in range(10):# 创建一个新的DataFramedf pd.DataFrame({A: [i],B: [i * 2]})# 每次写入后保存文件with pd.ExcelWriter(example.xlsx, engineopenpyxl, modea, if_sheet_existsoverlay) as…

用html写一个贪吃蛇游戏

<!DOCTYPE html> <html> <head><title>贪吃蛇</title><meta charset"UTF-8"><meta name"keywords" content"贪吃蛇"><meta name"Description" content"这是一个初学者用来学习的小…

亚远景科技-Hardware Engineering SPICE课程大纲

Hardware SPICE是intacs为电子硬件开发创建的PRM/PAM过程参考和评估模型&#xff0c;其符合ISO/IEC15504-2, Automotive SPICE 4.0, ISO 26262-1和5: 2018等标准。 无论您是想要深入了解硬件工程领域&#xff0c;还是希望成长为Provisional初级、Competent主任和Principal首席硬…

Linux(CentOS7)安装 MongoDB

目录 下载 上传 解压 创建mongodb.conf 创建数据文件夹和日志文件夹 启动服务 创建软链接 安装客户端 下载 上传 安装 下载 官方地址&#xff1a; Download MongoDB Community Server | MongoDBhttps://www.mongodb.com/try/download/community 上传 将下载好的 …

springboot/ssm宠物猫认养系统Java宠物用品商城领养系统web

springboot/ssm宠物猫认养系统Java宠物用品商城领养系统web 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;my…

基于java+springboot+vue实现的电商个性化推荐系统(文末源码+Lw+ppt)23-389

摘 要 伴随着我国社会的发展&#xff0c;人民生活质量日益提高。于是对电商个性化推荐进行规范而严格是十分有必要的&#xff0c;所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套电商个性化推荐系统&#xff0c;帮…

C++对C的扩充(三)

5 带缺省参数的函数 一般情况下,实参个数应与形参个数相同。C允许实参个数与形参个数不同。办法是在形参表列中对一个或几个形参指定缺省值(或称默认值)。例如某一函数的首部可用如下形式: void fun(int a, int b,int c100) 在调用此函数时如写成fun(2,4,6),则形参a,b,c的值…

信号量或互斥锁

在使用信号量或互斥锁时&#xff0c;调用mutex_lock或sem_wait的程序会被挂起&#xff0c;进入等待状态&#xff0c;直到另一个线程调用unlock或sem_post来唤醒它。这种等待不是死循环&#xff0c;也不会一直消耗 CPU。 具体来说&#xff0c;当一个线程调用mutex_lock或sem_wa…

kubernetes(K8S)学习(五):K8S进阶(Lifecycle......偏理论)

K8S进阶&#xff08;Lifecycle......偏理论&#xff09; 一、Pod进阶学习之路1.1 Lifecycle1.2 重启策略1.3 静态Pod1.4 健康检查1.5 ConfigMap1.6 Secret1.7 指定Pod所运行的Node 二、Controller进阶学习之路2.1 Job & CronJob2.2 StatefulSet2.3 DaemonSet2.4 Horizontal…