数组和字符串-数组

文章目录

        • 寻找数组的中心索引
          • 题意:
          • 解:
          • 代码:
        • 搜索插入位置
          • 题意:
          • 解:
          • 代码:
        • 合并区间
          • 题意:
          • 解:
          • 代码:

寻找数组的中心索引

题意:

给定一个数组,找一个最小下标,它左边的数字和等于右边的数字和

解:

先计算总和,然后遍历

代码:
#include<bits/stdc++.h>
using namespace std;
int pivotIndex(vector<int>& nums)
{int lg=nums.size(),left=0,sum=accumulate(nums.begin(),nums.end(),0);for(int i=0;i<lg;i++){sum-=nums[i];if(left==sum) return i;left+=nums[i];}return -1;
}
int main()
{vector<int> nums;int num;while(cin>>num) nums.push_back(num);int ans=pivotIndex(nums);cout<<ans<<endl;return 0;
}

搜索插入位置

题意:

给定一个有序数组和一个整数,判断这个整数应该在插入到数组的哪个下标(如已存在数组内,则给出下标)

解:

要求时间复杂度为 O(log n) 的算法,二分lower_bound

代码:
#include<bits/stdc++.h>
using namespace std;
int searchInsert(vector<int>& nums, int target)
{int lg=nums.size();if(target>nums[lg-1]) return lg;int l=0,r=lg-1;while(l<r){int mid=l+((r-l)>>1);if(nums[mid]==target) return mid;else if(nums[mid]>target) r=mid;else l=mid+1;}return l;
}
int main()
{vector<int> nums;int num;int target;cin>>target;while(cin>>num) nums.push_back(num);int ans=searchInsert(nums,target);cout<<ans<<endl;return 0;
}

合并区间

题意:

数组里存储N个区间,求他们合并完的结果,区间为闭合区间

解:

先排序,然后简单合并

代码:
#include<bits/stdc++.h>
using namespace std;
bool cmp(const vector<int>& lhs,const vector<int>& rhs)
{return lhs[0]<rhs[0];
}
vector<vector<int>> merge(vector<vector<int>>& intervals)
{vector<vector<int>> ret;sort(intervals.begin(),intervals.end(),cmp);int l=-1,r=-1;for(auto &row:intervals){if(r==-1)//初始化{l=row[0],r=row[1];}else{if(row[0]<=r) r=max(r,row[1]);else{ret.push_back({l,r});l=row[0],r=row[1];}}}if(r!=-1) ret.push_back({l,r});return ret;
}
int main()
{vector<vector<int>> intervals;int t1,t2;while(cin>>t1>>t2) intervals.push_back({t1,t2});vector<vector<int>> ans=merge(intervals);for(auto &row:ans){for(auto &col:row) cout<<col<<ends;cout<<endl;}return 0;
}

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

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

相关文章

TartanVO: A Generalizable Learning-based VO 论文阅读

论文信息 题目:TartanVO: A Generalizable Learning-based VO 作者&#xff1a;Wenshan Wang&#xff0c; Yaoyu Hu 来源&#xff1a;ICRL 时间&#xff1a;2021 代码地址&#xff1a;https://github.com/castacks/tartanvo Abstract 我们提出了第一个基于学习的视觉里程计&…

Grafana技术文档-概念-《十分钟扫盲》

Grafana官网链接 Grafana: The open observability platform | Grafana Labs 基本概念 Grafana是一个开源的度量分析和可视化套件&#xff0c;常用于对大量数据进行实时分析和可视化。以下是Grafana的基本概念&#xff1a; 数据源&#xff08;Data Source&#xff09;&#…

新一代开源流数据湖平台Apache Paimon入门实操-下

文章目录 实战写表插入和覆盖数据更新数据删除数据Merge Into 查询表批量查询时间旅行批量增量查询 流式查询时间旅行ConsumerID 查询优化 系统表表指定系统表分区表全局系统表维表 CDC集成MySQLKafka支持schema变更 实战 写表 插入和覆盖数据 可以使用INSERT语句向表中插入…

RISC-V公测平台发布:如何在SG2042上玩转OpenMPI

About HS-2 HS-2 RISC-V通用主板是澎峰科技与合作伙伴共同研发的一款专为开发者设计的标准mATX主板&#xff0c;它预装了澎峰科技为RISC-V高性能服务器定制开发的软件包&#xff0c;包括各种标准bencmark、支持V扩展的GCC编译器、计算库、中间件以及多种典型服务器应用程序。…

云安全攻防(六)之 镜像投毒

云安全攻防&#xff08;六&#xff09;之 镜像投毒 随着容器技术的普及&#xff0c;容器镜像也成为软件供应链中非常重要的一个组成的部分。人们像使用 pip 等工具从仓库获取各种编程软件库一样&#xff0c;可以从 Docker Hub 或 第三方仓库拉取镜像&#xff0c;在其基础上进行…

TS学习03-类

类 calss A {name: stringconstructor(name:string) {this.name name}greet() {return hello, this.name} } let people new A(RenNing)继承 子类是一个派生类&#xff0c;他派生自父类&#xff08;基类&#xff09;&#xff0c;通过 extends关键字 派生类通常被称作 子类…

遇到bug怎么分析,这篇文章值得一看

为什么定位问题如此重要&#xff1f; 可以明确一个问题是不是真的“bug” 很多时候&#xff0c;我们找到了问题的原因&#xff0c;结果发现这根本不是bug。原因明确&#xff0c;误报就会降低 多个系统交互&#xff0c;可以明确指出是哪个系统的缺陷&#xff0c;防止“踢皮球…

C语言内嵌汇编

反编译&#xff08;二进制文件或者so库&#xff09; objdump --help objdump -M intel -j .text -ld -C -S out > out.txt #显示源代码同时显示行号, 代码段反汇编-M intel 英特尔语法-M x86-64-C:将C符号名逆向解析-S 反汇编的同时&#xff0c;将反汇编代码和源代码交替显…

机器学习深度学习——非NVIDIA显卡怎么做深度学习(坑点排查)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——数值稳定性和模型化参数&#xff08;详细数学推导&#xff09; &#x1f4da;订阅专栏&#xff1a;机器…

conda install 和pip install有什么区别?

本篇为分享贴&#xff0c;截图部分选自知乎&#xff0c;部分选自csdn&#xff0c;文字内容是结合自己实践进行总结。 环境引用的包在哪&#xff1f; 首先&#xff0c;一条命令&#xff1a; python -m site 这条命令可以定位引用的包在哪里 &#xff0c;当然也可以自己设置默认…

JavaWeb(9)——前端综合案例3(悬停显示下拉列表)

一、实例需求 ⌛ 实现类似百度首页的“一个简单的鼠标悬停显示的下拉列表效果”。 二、代码实现 ☕ <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>.dropdown-cont…

iframe 标签的作用是什么?用法是什么?属性有什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ iframe 标签是什么&#xff1f;⭐ iframe 标签的作用什么&#xff1f;⭐ iframe 标签的用法⭐ iframe 标签的属性⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你…

【单片机】51单片机,TLC2543,驱动程序,读取adc

TLC2543 是一款 12 位精密模数转换器 (ADC)。 1~9、11、12——AIN0&#xff5e;AIN10为模拟输入端&#xff1b; 15——CS 为片选端&#xff1b; 17——DIN 为串行数据输入端&#xff1b;&#xff08;控制字输入端&#xff0c;用于选择转换及输出数据格式&#xff09; 16——…

【redis】docker搭建redis集群

docker搭建redis集群&#xff0c;超级简单方便。 # 1. 拉取redis. 目前我拉取最新的是7.0.12 docker pull redis # 2. 下载配置文件 wget https://raw.githubusercontent.com/redis/redis/7.0/redis.conf # 3. 移到对应目录 mkdir -p /opt/docker/redis mv redis.conf /opt/d…

机器学习复习题

1 单选题 ID3算法、C4.5算法、CART算法都是&#xff08; &#xff09;研究方向的算法。 A . 决策树 B. 随机森林 C. 人工神经网络 D. 贝叶斯学习 参考答案&#xff1a;A &#xff08; &#xff09;作为机器学习重要算法之一&#xff0c;是一种利用多个树分类器进行分类和预测…

Typescript]基础篇之 tsc 命令解析

[Typescript]基础[TOC]([Typescript]基础篇之 tsc 命令解析 tsc 命令概览编译参数说明--declaration--watch 这里是对 tsc 的一个详细介绍 tsc 命令概览 安装 Typescript 后可以使用 tsc 编译 ts 文件,tsc 命令是否支持其它参数 如果需要查看 tsc 支持的命令&#xff0c;或者…

Immutable.js 进行js的复制

介绍 在提供不可变&#xff08;Immutable&#xff09;数据结构的支持。不可变数据是指一旦创建后就不能被修改的数据&#xff0c;每次对数据进行更新都会返回一个新的数据对象&#xff0c;而原始数据保持不变。 使用 日常中我们使用的拷贝 (1) var arr { } ; arr2 arr ; …

chatGPT能力培训,客户最关注的99个方向

前言&#xff1a; chatGPT的主要应用&#xff0c;包括文本生成、图像生成和图文关联三大核心方向&#xff1a; 用户的在实际的工作和学习过程中&#xff0c;最关心的内容&#xff0c;可以按照上述类别进行划分&#xff0c;我们总结了&#xff0c;相关的插头GPT能力培训的相关主…

linux 内存 - KO内存占用

说明 KO(kernel module)占用的内存分为两部分&#xff1a; 静态占用 &#xff1a;ko insmod时系统固定分配的内存。动态申请 &#xff1a;代码中动态申请的内存&#xff0c;由于申请方式不同&#xff0c;统计的方式也可能不同&#xff0c;例如&#xff1a;使用vmalloc和kmall…

DAY04_SpringMVC—SpringMVC简介PostMan和ApiFox工具使用SpringMVC请求与响应REST风格

目录 一 SpringMVC简介1 SpringMVC概述问题导入1.1 SpringMVC概述 2 入门案例问题导入2.0 回顾Servlet技术开发web程序流程2.1 使用SpringMVC技术开发web程序流程2.2 代码实现【第一步】创建web工程&#xff08;Maven结构&#xff09;【第二步】设置tomcat服务器&#xff0c;加…