【LeetCode】Day194-超级丑数

news2024/9/22 5:37:44

题目

313. 超级丑数【中等】

题解

之前做过丑数,规定丑数是质因数只包含2,3,5的正整数,而这道题丑数升级为超级丑数,规定为包含的质因数是在primes数组中的正整数

丑数的题解用动态规划,那么超级丑数也可以利用相同的方法解答

  1. 状态定义:dp[i][j] 表示nums在区间 [0,i−1] 被切分成 j 个子数组的最大平均值和。

  2. 状态转移方程
    j=1时,对应[0,i-1]区间的最大平均值
    j>1时,将区间分为[0,x-1],[x,i-1]两个部分,需要列不同的x,看什么时候最大平均值和最大
    在这里插入图片描述

  3. 初始条件
    dp[i][1]=prefix[i]/i,其中prefix[i]为前i个数字的前缀和

  4. 返回值:dp[n][k]

class Solution {
    public ListNode mergeKLists(ListNode[] lists) {
        int n=lists.length;
        if(n==0)
            return null;
        ListNode res=lists[0];
        for(int i=1;i<n;i++)
            res=merge2Lists(res,lists[i]);
        return res;
    }
    //合并两个有序链表
    public ListNode merge2Lists(ListNode res,ListNode node){
        ListNode head=new ListNode();
        ListNode p=res,q=node,tail=head;
        while(p!=null&&q!=null){
            if(p.val<q.val){
                tail.next=p;
                p=p.next;
            }
            else{
                tail.next=q;
                q=q.next;
            }
            tail=tail.next;
        }
        while(p!=null){
            tail.next=p;
            p=p.next;
            tail=tail.next;
        }
        while(q!=null){
            tail.next=q;
            q=q.next;
            tail=tail.next;
        }
        return head.next;
    }
}

时间复杂度: O ( k 2 n ) O(k^2n) O(k2n),假设每个链表的最长长度是n,那么第 i 次合并之后链表最长为i*n,第 i 次合并的时间复杂度是O( i ∗ n i*n in),所以总时间复杂度为KaTeX parse error: Undefined control sequence: \* at position 9: O(((1+k)\̲*̲k/2)\*n),即为 O ( k 2 n ) O(k^2n) O(k2n)

空间复杂度: O ( 1 ) O(1) O(1)

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

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

相关文章

CSS -- CSS元素显示模式总结(块元素,行内元素,行内块元素)

文章目录CSS 的元素显示模式1 什么是元素显示模式2 块元素3 行内元素4 行内块元素5 元素的显示模式总结CSS 的元素显示模式 1 什么是元素显示模式 作用&#xff1a;网页的标签非常多&#xff0c;在不同地方会用到不同类型的标签&#xff0c;了解他们的特点可以更好的布局我们…

[附源码]JAVA毕业设计-学生宿舍故障报修管理信息系统-(系统+LW)

[附源码]JAVA毕业设计-学生宿舍故障报修管理信息系统-&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff…

开源即巅峰,《Java程序性能优化实战》GitHub三小时标星已超34k

蓦然回首自己做开发已经十年了&#xff0c;这十年中我获得了很多&#xff0c;技术能力、培训、出国、大公司的经历&#xff0c;还有很多很好的朋友。但再仔细一想&#xff0c;这十年中我至少浪费了五年时间&#xff0c;这五年可以足够让自己成长为一个优秀的程序员&#xff0c;…

项目设置分页条件查询接口

一、分页 1、HospPlusConfig中配置分页插件1 /** 2 * 分页插件 3 */ 4 Bean 5 public PaginationInterceptor paginationInterceptor() { 6 return new PaginationInterceptor(); 7 }2、分页Controller方法 HospitalSetController中添加分页方法1 ApiOperation(value "分…

Python学习基础笔记四十二——序列化模块

1、序列化的概念&#xff1a; 序列&#xff1a;就是字符串。 序列化&#xff1a;将原本的字典、列表等内容转换成一个字符串数据类型的过程就叫做序列化。 反序列化&#xff1a;从字符串到数据类型的过程。 2、序列化的目的&#xff1a; 1、以某种存储形式使自定义的数据持…

servlet+Mysql实现的校园论坛管理系统(功能包含登录,首页帖子查看、发帖、个人帖子删除编辑、帖子评论回复、用户管理等)

博客目录servletMysql实现的校园论坛管理系统实现功能截图系统功能使用技术代码完整源码servletMysql实现的校园论坛管理系统 本系统是一个简单的校园论坛系统&#xff0c;学生可以在线发帖并进行帖子评论回复&#xff0c;同同时管理员可以对用户进行管理。 (文末查看完整源码…

win11: cmake+glfw+imgui

下载源码&#xff1a;imgui github地址 将需要的文件拖拽入项目外部库的imgui文件夹 backends文件夹里选择与环境适配的文件&#xff0c;我这里用了glfw和opengl3 目录结构&#xff1a; CMakeLists.txt cmake_minimum_required(VERSION 3.24) project(proforlearn) set(CM…

基于java+springmvc+mybatis+jsp+mysql的实验室计算机故障报修系统

项目介绍 本系统采用java语言开发&#xff0c;后端采用ssm框架&#xff0c;前端采用jsp技术&#xff0c;数据库采用mysql进行数据存储。 前端页面&#xff1a; 功能&#xff1a;首页、设备信息、公告资讯、个人中心、后台管理、联系客服 管理员后台页面&#xff1a; 功能&…

电子学会2020年12月青少年软件编程(图形化)等级考试试卷(二级)答案解析

目录 一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 二、判断题&#xff08;共10题&#xff0c;每题2分&#xff0c;共20分&#xff09; 三、编程题【该题由测评师线下评分】&#xff08;共2题&#xff0c;共30分&#xff09; 青少年软件…

业务流程监控:让多维度监控有了灵魂

需求 《可视化业务流程监控&#xff0c;是解决方案更是运维之道&#xff01;》一文让我们知道可以借助Grafana 两个插件&#xff1a;Diagram、FlowCharting&#xff0c;满足我们对于图形数据业务流程的可视化监控&#xff0c;但是在使用前需要我们做好以下两点工作&#xff1a…

修复自定义标题word题注错误:错误,文档中没有指定样式的文字以及编号无法随章节变化问题

一、单个修复指定章节号 假设采用自定义样式“毕业”&#xff0c;如果出现类似提示&#xff0c;可以具体操作如下&#xff1a; 光标定位与错误题注的位置&#xff0c;按shift F9 {STYLEREF 1 \s} - 2 将内容修改为 图 {STYLEREF "毕业" \s} - 2 右击&#xff0c;更…

被人叫做砖家模拟器的ChatGPT,它真的靠谱吗?

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 前言 最近很热门的聊天机器人ChatGPT&#xff0c;据说五天时间用户就破了百万&#xff0c;这几天在体验过程中发现了一些问题&#xff0c;今天我就以下列几个方面来跟大家简单的交流下ChatGPT。 ChatGPT怎么注册国…

【博客555】prometheus的step,durations,rate interval,scrape interval对数据查询结果的影响

prometheus的step&#xff0c;durations&#xff0c;rate interval&#xff0c;scrape interval对数据查询结果的影响 1、场景&#xff1a;在查询prometheus数据时出现很多诡异的现象 1、为什么同样的查询语句在不同的时间点查询&#xff0c;对过去某一时刻的数据展示却不一样…

网络拓扑配置案例练习(VRRP,浮动路由,DCHP,三层交换机配置)

网络拓扑配置案例网络拓扑配置案例练习网络拓扑需求描述具体操作命令交换机创建vlan&#xff0c;配置access、trunk口&#xff0c;划分vlanvrrp配置路由配置验证vrrp和浮动路由DHCP配置总结网络拓扑配置案例练习 在这篇文章中将记录网络的常见配置&#xff1a;VRRP&#xff0c…

vue-cli和vue有什么区别

目录 1、什么是 Vue&#xff1f; 2、什么是vue-cli&#xff1f; 3、区别和关联 &#x1f449; 区别 &#x1f449; 关联 &#x1f340; 扩展知识 “vue-cli”和vue的区别&#xff1a;vue是“vue.js”的简称&#xff0c;是一个成熟的用于构建用户界面的JavaScript渐进式框…

「Docker学习系列教程」9-Docker容器数据卷介绍

通过前面8篇文章的学习&#xff0c;我们已经学会了docker的安装、docker常用的命令已经docker镜像修改后提交的远程镜像仓库及提交到公司的私服仓库中。接下来&#xff0c;我们再来学学Docker另外一个重要的东西-容器数据卷。 我们先来看看一个场景&#xff1a;我们有多个dock…

18. 权重衰退的代码的从零实现和简洁实现

通过一个简单的例子来演示权重衰减。 %matplotlib inline import torch from torch import nn from d2l import torch as d2l0.01就是权重&#xff0c;xi是随机的输入&#xff0c;噪音是均值为0&#xff0c;方差为0.01的一个正态分布 n_train,n_test,num_inputs,batch_size 2…

Alibaba 官方微服务扛把子「SpringCloudAlibaba 全彩学习手册.PDF」,开源学习ing,

最近我在知乎上看过的一个热门回答&#xff1a; 初级 Java 开发面临的最大瓶颈在于&#xff0c;脱离不出自身业务带来的局限。日常工作中大部分时间在增删改查、写写接口、改改 bug&#xff0c;久而久之就会发现&#xff0c;自己的技术水平跟刚工作时相比没什么进步。 所以我们…

Spring Batch 批处理入门案例

引言 书接上篇 何为Spring Batch&#xff1f;怎么玩&#xff1f; &#xff0c;前面普及了一下Spring Batch 相关介绍&#xff0c;本篇来一个helloword&#xff0c;简单试一下Spring Batch 怎么玩 批量处理流程 开始前&#xff0c;先了解一下Spring Batch程序运行大纲&#x…

[附源码]计算机毕业设计惠农微信小程序论文Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…