news 2026/5/15 4:56:20

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/5/13 13:35:57

python训练营打卡day11

浙大疏锦行 知识点&#xff1a; 1.网格搜索 2.随机搜索 3.贝叶斯优化 4.time库的记时模块 5.代理模型的思想 6.给ai提问 1. 概述 核心知识点回顾 模型组成 算法 实例化设置的外参&#xff08;超参数&#xff09; 训练得到的内参 调参原则&#xff1a;只要调参就需要…

作者头像 李华
网站建设 2026/4/18 3:26:55

关于链表中元素的交换的操作

给定一个链表&#xff0c;对于每两个相邻的结点&#xff0c;交换其位置。如 1->2->3->4->null&#xff0c;返回2->1->3->4->null只能对结点进行操作&#xff0c;不能修改结点的值&#xff0c;只能操作结点&#xff08;整个&#xff09;或结点对应的指针…

作者头像 李华
网站建设 2026/5/11 12:49:32

【大模型预训练】07-数据处理流程设计:从原始数据到模型输入的端到端处理链路

引言数据处理流程设计是现代数据科学和机器学习领域中不可或缺的一环。它涵盖了从原始数据采集到最终模型输入的整个端到端处理链路&#xff0c;确保数据在各个阶段得到有效管理和转换&#xff0c;从而为后续的分析和建模提供高质量的数据基础。在数据驱动的决策日益重要的今天…

作者头像 李华
网站建设 2026/5/3 8:14:06

2025软件测试面试题及答案

【纯干货&#xff01;&#xff01;&#xff01;】花费了整整3天&#xff0c;整理出来的全网最实用软件测试面试大全&#xff0c;一共30道题目答案的纯干货&#xff0c;希望大家多多支持&#xff0c;建议 点赞&#xff01;&#xff01;收藏&#xff01;&#xff01;长文警告&…

作者头像 李华
网站建设 2026/5/13 0:07:16

AI中的优化5-无约束非线性规划之凸性

目录 正文 一、核心概念 1. 全局最小、局部最小、严格局部最小 2. 梯度 &#xff08;1&#xff09;矩阵的偏导数计算&#xff08;梯度&#xff09; &#xff08;2&#xff09;Hessian Matrix &#xff08;3&#xff09;方向导数与梯度 &#xff08;4&#xff09;可行方…

作者头像 李华