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

Golang | Leetcode Golang题解之第321题拼接最大数

题目:

题解:

func maxSubsequence(a []int, k int) (s []int) {for i, v := range a {for len(s) > 0 && len(s)+len(a)-1-i >= k && v > s[len(s)-1] {s = s[:len(s)-1]}if len(s) < k {s = append(s, v)}}return
}func lexicographicalLess(a, b []int) bool {for i := 0; i < len(a) && i < len(b); i++ {if a[i] != b[i] {return a[i] < b[i]}}return len(a) < len(b)
}func merge(a, b []int) []int {merged := make([]int, len(a)+len(b))for i := range merged {if lexicographicalLess(a, b) {merged[i], b = b[0], b[1:]} else {merged[i], a = a[0], a[1:]}}return merged
}func maxNumber(nums1, nums2 []int, k int) (res []int) {start := 0if k > len(nums2) {start = k - len(nums2)}for i := start; i <= k && i <= len(nums1); i++ {s1 := maxSubsequence(nums1, i)s2 := maxSubsequence(nums2, k-i)merged := merge(s1, s2)if lexicographicalLess(res, merged) {res = merged}}return
}
http://www.lryc.cn/news/416210.html

相关文章:

  • 远程连接本地虚拟机失败问题汇总
  • WebRTC 初探
  • Python:read,readline和readlines的区别
  • 重生之我学编程
  • 如何将PostgreSQL的数据实时迁移到SelectDB?
  • 关于c语言的const 指针
  • 万能门店小程序开发平台功能源码系统 带完整的安装代码包以及安装搭建教程
  • C#初级——字典Dictionary
  • git版本控制的底层实现
  • 深入解析数据处理的技术与实践
  • python-调用c#代码
  • 构建铁路安全防线:EasyCVR视频+AI智能分析赋能铁路上道作业高效监管
  • openai command not found (mac)
  • 鸿蒙(API 12 Beta2版)NDK开发【LLDB高性能调试器】调试和性能分析
  • HAL库源码移植与使用之DMA
  • Scrapy爬虫框架介绍、创建Scrapy项目
  • 如何监测某个进程是否退出(C++)?
  • Python:Neo 库读取 ABF 文件,数据格式详解
  • 【Linux】网络基础_3
  • C++之从C过渡(上)
  • MongoDB 100问
  • Arduino ESP32使用 HardwareSerial创建一个任意串口
  • 数据中台建设之数据存储
  • 最常见的AI大模型总结
  • 源码安装docker和docker-compose
  • Java、PHP、Node 操作 MySQL 数据库常用方法
  • nVisual分享社区正式上线啦!
  • 4.5.门控循环单元GRU
  • 10种 Python数据结构,从入门到精通
  • 【AI】人工智能时代,程序员如何保持核心竞争力?