912.排序数组(桶排序)

news/2024/10/29 23:08:16/

目录

  • 题目
  • 解法

题目

给你一个整数数组 nums,请你将该数组升序排列。

你必须在 不使用任何内置函数 的情况下解决问题,时间复杂度为 O(nlog(n)),并且空间复杂度尽可能小。

解法

class Solution {
public:vector<int> sortArray(vector<int>& nums) {// BucketSort 桶排序int n = nums.size();// 获取数组的最小值和最大值int maxNum = nums[0], minNum = nums[0];for (int i = 1; i < n; ++i) {if (nums[i] > maxNum) maxNum = nums[i];if (nums[i] < minNum) minNum = nums[i];}// 初始化桶int bucketNum = 5, bucketSize = (maxNum - minNum) / bucketNum + 1;vector<vector<int>> buckets(bucketNum, vector<int>(0));// 小至大分桶for (int num : nums) {int bucketIndex = (num - minNum) / bucketSize;buckets[bucketIndex].emplace_back(num);}// 桶内排序for (int i = 0; i < buckets.size(); ++i) {sort(buckets[i].begin(), buckets[i].end());}// 从桶中依次取数int index = 0;for (auto& bucket : buckets) {for (int num : bucket) {nums[index++] = num;}}return nums;}
};

http://www.ppmy.cn/news/1542931.html

相关文章

Java应用程序的测试覆盖率之设计与实现(四)-- jacoco-maven-plugin

说在前面的话 加载jacocoagent,开始采集覆盖率数据。 java -javaagent:doc/jacocoagent.jar=includes=com.jacoco.*,output=tcpserver,port=7195,address=172.27.3.242,classdumpdir=classdumpdir/classes/ \ -jar target/jacoco-test-sample.jar. ____ _ …

ELK同时采集Nginx、linux内核日志信息

在logstash服务机器136上安装nginx(配置ELK服务在上一篇文档中&#xff09; 复制之前写的linux内核日志采集配置文档改名字为linux_nginx.conf 编辑linux_nginx.conf 修改完成后启动nginx服务 重新加载linux_nginx.conf配置文件 看到有java进程说明logstash采集成功&#xff0c…

无人机遗传算法详解!

一、遗传算法概述 遗传算法是一种模拟自然选择和遗传机制的优化算法&#xff0c;它仿效生物的进化与遗传&#xff0c;根据生存竞争和优胜劣汰的法则&#xff0c;通过遗传操作&#xff08;选择、交叉、变异&#xff09;&#xff0c;使所求问题的解逐步逼近最优解。 二、无人机…

MemoRAG:重新定义长期记忆的AI问答模型

MemoRAG模型是如何实现长记忆的&#xff1f; ©作者|Blaze 来源|神州问学 引言 随着人工智能的发展&#xff0c;AI问答模型在各种应用场景中表现出色&#xff0c;尤其是在信息检索和知识问答领域。传统的RAG模型通过结合外部知识库的实时检索与生成模型&#xff0c;极大地…

『完整代码』宠物召唤

创建脚本并编写&#xff1a;PetFollowTarget.cs using UnityEngine; public class PetFollowTarget : MonoBehaviour{Transform target;float speed 2f;Animator animator;void Start(){target GameObject.Find("PlayerNormal/PetsSmallPos").gameObject.transform…

高效管理企业客户的SCRM系统方案解析

内容概要 在当今竞争激烈的市场环境中&#xff0c;企业必须找到一种有效的方式来管理与客户的关系&#xff0c;这就是SCRM系统的核心价值所在。SCRM&#xff0c;即社交客户关系管理&#xff0c;不仅仅是传统客户关系管理的延续&#xff0c;它结合了社交媒体和数字化科技&#…

一二三应用开发平台自定义查询设计与实现系列2——查询方案功能实现

查询方案功能实现 上面实现了自定义查询功能框架&#xff0c;从用户角度出发&#xff0c;有些条件组合可以形成特定的查询方案&#xff0c;对应着业务查询场景。诸多查询条件的组合&#xff0c;不能每次都让用户来设置&#xff0c;而是应该保存下来&#xff0c;下次可以直接使…

HTTP介绍及请求过程

HTTP(HyperText Transfer Protocol),即超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议。以下是关于 HTTP 的详细介绍: 一、基本概念 定义与作用: HTTP 是互联网上应用最为广泛的一种网络协议,它定义了客户端和服务器之间请求和响应的标准方式。…