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

leetcode周赛373场

leetcode周赛373场

第三题2948题
评论区的解题思路找到了很好的解法,当时没有想到,给原始数组排序后,分段再给数组位置排序。

class Solution {
    public int[] lexicographicallySmallestArray(int[] nums, int limit) {
        int n = nums.length;
        Integer[] ids = new Integer[n];
        for(int i=0;i<n;i++)
            ids[i] = i;
        Arrays.sort(ids,(i,j)->nums[i]-nums[j]);
        for(int i=0;i<n;i++)
            System.out.println(ids[i]);
        int[] ans = new int[n];
        int i=0;
        while(i<n)
        {
            int begin = i;
            i++;
            while(i<n&&nums[ids[i]]-nums[ids[i-1]]<=limit)
            i++;
            //Arrays.copyOfRange左闭右开区间
              Integer[] subIds = Arrays.copyOfRange(ids, begin, i);
              Arrays.sort(subIds);
              for(int j=0;j<subIds.length;j++)
              ans[subIds[j]] = nums[ids[begin+j]];

        }
        return ans;
    }
}

http://www.kler.cn/a/146228.html

相关文章:

  • 【爬虫】使用 Scrapy 框架爬取豆瓣电影 Top 250 数据的完整教程
  • Flink(十):DataStream API (七) 状态
  • 基于 Python 的深度学习的车俩特征分析系统,附源码
  • 26个开源Agent开发框架调研总结(一)
  • 鸿蒙UI(ArkUI-方舟UI框架)-开发布局
  • C#上位机通过CAN总线发送bin文件
  • Linux C语言 30-套接字操作
  • TCP/IP、Http、Socket之间的区别
  • LeetCode 4 寻找两个正序数组的中位数
  • 知识图谱06——将pdf中的表格(文字形式)保存至csv中
  • Flume采集Kafka并把数据sink到OSS
  • Controller 层代码就该这么写,简洁又优雅!
  • Xcode:does not contain bitcode
  • 华为eNSP使用教程(Enterprise Network Simulation Platform,企业网络仿真平台)
  • Docker搭建个人网盘NextCloud并接入雨云对象存储的教程
  • PNG格式的图像比JPG图像多一个Alpha通道
  • 【C++高阶(五)】哈希思想--哈希表哈希桶
  • 皮尔逊相关性分析的matlab实现,简介和实例
  • Go 基本语法
  • 数智赋能 锦江汽车携手苏州金龙打造高质量盛会服务
  • 删除巨大文本文件的最后一行
  • 《斯坦福数据挖掘教程·第三版》读书笔记(英文版)Chapter 3 Finding Similar Items
  • STM32 CAN协议讲解以及代码
  • CSS水平居中与垂直居中的方法
  • 【K8s 网络】Linux网络虚拟化与TCP/IP网络
  • Facebook的特点优势