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

LeetCode046全排列

题目:

给定一个 没有重复 数字的序列,返回其所有可能的全排列。

示例:

  • 输入: [1,2,3]

  • 输出:
    [
    [1,2,3],
    [1,3,2],
    [2,1,3],
    [2,3,1],
    [3,1,2],
    [3,2,1]
    ]

java:

public class Leetcode046 { static List<List<Integer>> res = new ArrayList<>(); static LinkedList<Integer> path = new LinkedList<>(); static boolean[] used; public static List<List<Integer>> permute(int[] nums) { if (nums.length == 0) { return res; } used = new boolean[nums.length]; permuteHelper(nums); return res; } private static void permuteHelper(int[] nums) { if (path.size() == nums.length) { res.add(new ArrayList<>(path)); return; } for (int i = 0; i < nums.length; i++) { if (used[i]) { continue; } used[i] = true; path.add(nums[i]); permuteHelper(nums); path.removeLast(); used[i] = false; } } public static void main(String[] args) { int[] nums = {1, 2, 3}; System.out.println(permute(nums)); } }

Go:

package LeetCode var ( result46 [][]int path46 []int used46 []bool ) func Permute(nums []int) [][]int { result46 = make([][]int, 0) path46 = make([]int, 0, len(nums)) used46 = make([]bool, len(nums)) dfs46(nums, 0) return result46 } func dfs46(nums []int, cur int) { if cur == len(nums) { tmp := make([]int, len(nums)) copy(tmp, path46) result46 = append(result46, tmp) } for i := 0; i < len(nums); i++ { if !used46[i] { path46 = append(path46, nums[i]) used46[i] = true dfs46(nums, cur+1) used46[i] = false path46 = path46[:len(path46)-1] } } } func main() { nums := []int{1, 2, 3} permute := LeetCode.Permute(nums) fmt.Println(permute) }

吹凉的不是温度.

如果大家喜欢我的分享的话.可以关注我的微信公众号

念何架构之路

http://www.rkmt.cn/news/94866.html

相关文章:

  • PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(“Text“));---核心是:INotifyPropertyChanged接口
  • 【大模型预训练】07-数据处理流程设计:从原始数据到模型输入的端到端处理链路
  • 基于VMD-CPA-KELM-IOWAl-CSA-LSSVM碳排放的混合预测模型研究附Matlab代码
  • 系统基础服务
  • Python基础知识的总结(2)
  • Go程序的执行顺序
  • JavaWeb-Request应用与Cookie[特殊字符]️Session
  • 数据结构:二叉排序树,平衡二叉树,红黑树的介绍
  • 基于条件风险价值CVaR的微网动态定价与调度策略附Matlab代码
  • Go语言变量
  • 架构系统序化
  • OpenVSCode Server终极性能调优与资源管理完整指南
  • ASP毕业设计题目推荐:基于ASP+Access的校园二手交易平台设计与实现
  • 【Arduino Uno】数码管模拟值实验
  • 进程PCB
  • Springboot医药采购管理2mqc3(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • LeetCode 41. 缺失的第一个正数 | 原地哈希最优解全解析
  • 线性回归模型
  • 榛子矮砧密植:水肥一体化系统的铺设要点指南
  • java基础流程控制笔记
  • 校招 Java 面试必看:JVM 其实就考这 3 个点(我帮你讲透)
  • [从零构建操作系统]08 函数调用时栈的底层行为解析
  • MATLAB与FlightGear联合仿真教程:包含Simulink工程文件的PDF指南
  • Springboot医疗云胶片管理系统nem7x(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Day 37 MLP神经网络的训练
  • 探索含光伏、火电与飞轮储能系统的奇妙调频之旅
  • 高效获取高质量外链:2026年必须掌握的10个核心策略
  • Flutter国际化(i18n)实现详解
  • YOLOv13涨点改进 | 独家创新首发、Conv卷积改进篇 | SCI一区 2025 | 引入MSConvStar多尺度卷积星形模块,有效增强捕捉多范围特征,助力目标检测、图像分割、图像分类高效涨点
  • LLC谐振变换器恒压恒流双竞争闭环Simulink仿真探索