当前位置: 首页 > news >正文

LEETCODE 170. 交易逆序对的总数

请添加图片描述

class Solution {
public:int reversePairs(vector<int>& record) {if(record.size()<1)return 0;//归并 递归int left,right;left=0;right=record.size()-1;int num=mergeSort(left,right,record);return num;}int mergeSort(int left,int right, vector<int>& record){if(left>=right)return 0;int mid;mid=left+(right-left)/2;    int leftnum=mergeSort(left,mid,record);int rightnum=mergeSort(mid+1,right,record);  int mergenum=merge(left,right,mid,record);  return (leftnum+rightnum+mergenum);}int merge(int left,int right,int mid,vector<int>& record){int num=0;int i=left;int j=mid+1;vector<int> tmp;while(i<=mid && j<=right){if(record[i]>record[j]){num=mid-i+1+num;tmp.push_back(record[j++]);}elsetmp.push_back(record[i++]);}while(i<=mid){tmp.push_back(record[i++]);}while(j<=right){tmp.push_back(record[j++]);}for(int i=0;i<tmp.size();i++){record[left+i]=tmp[i];}return num;}};

请添加图片描述


class Solution {
public:int reversePairs(vector<int>& record) {//归并 迭代int num=0;for(int step=1;step<record.size();step*=2){int leftmin,leftmax,rightmin,rightmax;for(leftmin=0;leftmin+step<record.size();leftmin=rightmax){leftmax=rightmin=leftmin+step;rightmax=leftmax+step;if(rightmax>record.size())rightmax=record.size();int start=leftmin;vector<int> tmp;while(leftmin<leftmax && rightmin<rightmax){if(record[leftmin]<=record[rightmin]){tmp.push_back(record[leftmin++]);}else{tmp.push_back(record[rightmin++]);num = num+leftmax-leftmin;}}while(leftmin<leftmax){tmp.push_back(record[leftmin++]);}while(rightmin<rightmax){tmp.push_back(record[rightmin++]);}for(int i=0;i<tmp.size();i++){record[start+i]=tmp[i];}}}return num;}};

请添加图片描述

相关文章:

LEETCODE 170. 交易逆序对的总数

class Solution { public:int reversePairs(vector<int>& record) {if(record.size()<1)return 0;//归并 递归int left,right;left0;rightrecord.size()-1;int nummergeSort(left,right,record);return num;}int mergeSort(int left,int right, vector<int>…...

「HarmonyOS」EventHub事件通知详细使用方法

需求背景&#xff1a; 在开发过程中&#xff0c;肯定会出现触发特定事件&#xff0c;需要全局进行通知&#xff0c;与之相关的部分进行执行相应的修改方法。举个例子&#xff1a;修改了用户个人昵称&#xff0c;需要进行全局通知&#xff0c;在涉及昵称的部分收到通知后&#…...

为什么golang不支持可重入锁呢?

为什么golang不需要可重入锁&#xff1f; 在工程中使用锁的原因在于为了保护不变量&#xff0c;也可以用于保护内、外部的不变量。 基于此&#xff0c;Go 在互斥锁设计上会遵守这几个原则。如下&#xff1a; 在调用 mutex.Lock 方法时&#xff0c;要保证这些变量的不变性保持…...

聊一聊Tomcat的架构和运行流程,尽量通俗易懂一点

1、Tomcat的架构 这里可以看出 A、一个Tomcat就是一个Server&#xff0c;一个Server下会有多个Service&#xff0c; B、Service只负责封装多个Connector和一个Container&#xff08;Service本身不是容器&#xff0c;可以看做只是用来包装Connector和Container的壳&#xff0c…...

ModelArts加速识别,助力新零售电商业务功能的实现

前言 如果说为客户提供最好的商品是产品眼中零售的本质&#xff0c;那么用户的思维是什么呢&#xff1f; 在用户眼中&#xff0c;极致的服务体验与优质的商品同等重要。 企业想要满足上面两项服务&#xff0c;关键在于提升效率&#xff0c;也就是需要有更高效率的零售&#…...

Qt/C++音视频开发65-切换声卡/选择音频输出设备/播放到不同的声音设备/声卡下拉框

一、前言 近期收到一个用户需求&#xff0c;要求音视频组件能够切换声卡&#xff0c;首先要在vlc上实现&#xff0c;于是马不停蹄的研究起来&#xff0c;马上查阅对应vlc有没有自带的api接口&#xff0c;查看接口前&#xff0c;先打开vlc播放器&#xff0c;看下能不能切换&…...

MySQL原理(一)架构组成之逻辑模块(1)组成

总的来说&#xff0c;MySQL可以看成是二层架构&#xff0c;第一层我们通常叫做SQL Layer&#xff0c;在MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成的&#xff0c;包括权限判断&#xff0c;sql解析&#xff0c;执行计划优化&#xff0c;query cache的处理等等&…...

一、cadence PDK 自学笔记-心法

我这边ADS /Cadence PDK基本大部分都是自学完成的。 当然也非常感谢我的前同事周**的帮忙&#xff0c;教了我很多基础的。另外也感谢我现在同事&#xff0c;李**和程*的帮忙&#xff0c;学习了很多cad的视角。 其实对于自学写PDK的小伙伴&#xff0c;一般都要如何学习呢&…...

防御保护--NAT策略

目录 NAT策略 NAT类型 server-map表 P2P --- peer to peer 网络类型 ​编辑 目标NAT--服务器映射 双向NAT ​编辑 多出口NAT NAT策略 静态NAT --- 一对一 动态NAT --- 多对多 NAPT --- 一对多的NAPT --- easy ip --- 多对多NAPT 服务器映射 源NAT--基于源IP地址进行转…...

【C++】C++入门 — 指针空值nullptr

C入门 指针空值 指针空值 在良好的C/C编程习惯中&#xff0c;声明一个变量时最好给该变量一个合适的初始值&#xff0c;否则可能会出现 不可预料的错误&#xff0c;比如未初始化的指针。如果一个指针没有合法的指向&#xff0c;我们基本都是按照如下 方式对其进行初始化: voi…...

Vue3+Koa2实现图片上传(不再畏惧)

大家好&#xff0c;我是勇宝&#xff0c;一个热爱前端的小学生&#xff0c;年关将至&#xff0c;提前祝大家新年快乐。今天呢&#xff0c;我们就来好好的啃一啃图片上传&#xff0c;从一个前端开发者的角度来探讨一下图片上传前后端到底都做了哪些事情。 文章目录 一、技术摘要…...

wsl-ubuntu 安装 nginx

wsl-ubuntu 安装 nginx 1. 安装 nginx2. 确认 nginx 启动状态3. 重启 nginx4. 停止 nginx 1. 安装 nginx sudo apt install nginx2. 确认 nginx 启动状态 systemctl status nginx3. 重启 nginx systemctl restart nginx4. 停止 nginx systemctl stop nginx完成&#xff01;…...

重学Ajax

摘要&#xff1a;AJAX是一个在前端的应用非常广泛技术&#xff0c;为什么还要谈它呢&#xff1f;么得办法之前学的不全面&#xff0c;再收拾收拾。水平有限&#xff0c;欢迎指正&#xff01; AJAX&#xff08;全称&#xff1a;Asynchronous JavaScript and XML&#xff09;是一…...

springboot3+vue3支付宝交易案例-结算支付

springboot3vue3支付宝交易案例-结算支付&#xff01;今天下午整理了一下结算的内容。遇到了很多问题。汇总分享给大家。 第一个问题&#xff1a;支付宝结算后&#xff0c;返回的交易编码&#xff0c;和交易时间&#xff0c;交易状态&#xff0c;都应该使用varchar来存。 第二…...

c语言 ceil() 函数

ceil()是C语言中的一个数学函数&#xff0c;用于向上取整。它的函数原型定义在math.h头文件中。 ceil()函数的作用是返回一个大于或等于给定参数的最小整数值&#xff0c;即将参数向上取整到最接近的整数。返回值的数据类型为double。 以下是ceil()函数的函数原型&#xff1a…...

virtualBox虚拟机安装ubuntu后的必要配置

1. 使能双向copy 粘贴功能。在device menu的 shared clipboard项, 选bidirectional. 2.启用共享文件夹。 在device 菜单的 shared folder 项配置&#xff0c; (对于日期乱码问题和命令行打不开的问题请见ubuntu18.04安装后时间日期乱码及terminal打不开解决方法_电脑日期变成…...

《Pandas 简易速速上手小册》第6章:Pandas 时间序列分析(2024 最新版)

文章目录 6.1 时间序列数据基础6.1.1 基础知识6.1.2 重点案例&#xff1a;股票市场分析6.1.3 拓展案例一&#xff1a;温度变化分析6.1.4 拓展案例二&#xff1a;电商平台日销售额分析 6.2 日期与时间功能6.2.1 基础知识6.2.2 重点案例&#xff1a;活动日志分析6.2.3 拓展案例一…...

滇西科技师范学院食堂大宗物资采购项目(冰冻制品类)招标公告

滇西科技师范学院食堂大宗物资采购项目(冰冻制品类)招标公告 (招标编号&#xff1a;YDZOH20240158) 项目所在地区&#xff1a;云南省,临沧市,市辖区 一、招标条件 本滇西科技师范学院食堂大宗物资采购项目(冰冻制品类)已由项目审批/核准/备案机关批准&#xff0c;项目资金来源为…...

(2024,SaFaRI,双三上采样和 DFT,空间特征和频率特征)基于扩散模型的图像空间和频率感知恢复方法

Spatial-and-Frequency-aware Restoration method for Images based on Diffusion Models 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 方法 3.1 修改数据保真度 3.2 …...

【Linux】环境基础开发工具的使用之gcc详解(二)

前言&#xff1a;上一篇文章中我们讲解了Linux下的vim和yum的工具的使用&#xff0c;今天我们将在上一次的基础上进一步的讲解开放工具的时候。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:Linux的深度刨析 &#x1f448; &#x1f4a…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...