news 2026/7/7 12:56:05

LeetCode046全排列

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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) }

吹凉的不是温度.

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

念何架构之路

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 9:45:32

缺少libgcc_s_seh-1.dll

缺少libgcc_s_seh-1.dll原因&#xff1a; 1.GCC运行时库缺失 libgcc_s_seh-1.dll是GCC编译器&#xff08;如MinGW-w64&#xff09;的核心运行时库&#xff0c;用于处理异常处理和基本运算。若目标电脑未安装GCC或相关工具链&#xff08;如MinGW&#xff09;&#xff0c;该文件会…

作者头像 李华
网站建设 2026/7/7 11:43:25

如何在链表中使用双指针技术

题目&#xff1a;给定一个链表&#xff0c;删除倒数第n个结点。如 1->2->3->4->5->null&#xff0c;n2&#xff0c;返回 1->2->3->5->null。需要明确的地方&#xff1a;n从0计还是从1计&#xff1f;n不合法&#xff0c;负数或者大于连标长度如何处理…

作者头像 李华
网站建设 2026/7/6 14:51:19

征程 6P/H 计算平台部署指南

1.前言 本文旨在提供 征程 6H/P 计算平台的部署指南&#xff0c;将会从硬件、软件两部分进行介绍&#xff0c;本文整理了我们推荐的使用流程&#xff0c;和大家可能会用到的一些工具特性&#xff0c;以便于您更好地理解工具链。某个工具具体详 l 细的使用说明&#xff0c;还请…

作者头像 李华
网站建设 2026/7/7 9:30:56

F5-TTS语音合成模型:从零开始掌握配置与自定义加载

F5-TTS语音合成模型&#xff1a;从零开始掌握配置与自定义加载 【免费下载链接】F5-TTS Official code for "F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching" 项目地址: https://gitcode.com/gh_mirrors/f5/F5-TTS F5-TTS作…

作者头像 李华
网站建设 2026/7/7 11:01:13

【架构演进与选型分析 】

单体架构 电商初期采用单体架构&#xff0c;所有功能集中在一个应用内&#xff0c;代码分层明确&#xff08;表示层、业务层、数据访问层、DB层&#xff09;。适合业务简单、团队规模小的场景&#xff0c;但模块依赖模糊&#xff0c;多团队开发易冲突。例如早期淘宝和eBay因代码…

作者头像 李华