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

Golang | Leetcode Golang题解之第491题非递减子序列

题目:

题解:

var (
    temp []int
    ans [][]int
)

func findSubsequences(nums []int) [][]int {
    ans = [][]int{}
    dfs(0, math.MinInt32, nums)
    return ans
}

func dfs(cur, last int, nums []int) {
    if cur == len(nums) {
        if len(temp) >= 2 {
            t := make([]int, len(temp))
            copy(t, temp)
            ans = append(ans, t)
        }
        return
    }
    if nums[cur] >= last {
        temp = append(temp, nums[cur])
        dfs(cur + 1, nums[cur], nums)
        temp = temp[:len(temp)-1]
    }
    if nums[cur] != last {
        dfs(cur + 1, last, nums)
    }
}

http://www.kler.cn/news/356288.html

相关文章:

  • 从0到1封装一个image/pdf预览组件
  • 微信开发者工具:音乐小程序报错
  • k8s中如何将pod的标准输出日志输出到一个文件
  • MySQL 安装和基本使用
  • PHP $ _FILES [‘userfile‘] [‘name‘ ] 和 $ _FILES [‘userfile‘] [‘tmp_name‘] 有什么区别
  • 大数据之hadoop(hdfs部分)
  • 三菱FX3U-4AD模块怎样读出模拟量数据的?
  • 如何解决目标检测中密集遮挡问题?
  • 基于SSM高校课程评价的设计
  • 80.【C语言】数据结构之时间复杂度
  • React Strict DOM:React Native 通用应用程序的未来
  • 应用指南 | 在IvorySQL中使用pglogical扩展模块
  • 【调教树莓派】如何获取树莓派的硬件ROOT(JTAG裸片调试)
  • docker 指令集
  • 计算机网络基本架构知识点
  • 手机摄影入门
  • 【FFmpeg】Common command
  • 网页前端开发之HTML入门篇:链接标签 a
  • 5 -《本地部署开源大模型》在Ubuntu 22.04系统下ChatGLM3-6B高效微调实战
  • window与ubuntu双系统时间同步