reducm's recent timeline updates
reducm

reducm

RUBY
🏢  BestApp / Developer
V2EX member #13390, joined on 2011-11-06 19:23:19 +08:00
reducm's recent replies
Oct 20, 2025
Replied to a topic by dzdh Java 现在学 Java 算 49 年入国军吗
Aug 20, 2025
Replied to a topic by sdrpsps 生活 1781 天后,我们还是分手了
经理像是看到 18 年前的我,对方家庭更好,出社会前就不同意在一起,感到了巨大的现实差距。后来感情好还是稳住了,真心感谢当年的她能坚定和我一起走。

后来过了 7 、8 年后,自己创业打拼也能买下豪车的时候,因为心神精力放了很多在事业上,最后大家方向不一致,还是离了。

生活路很长,人是很复杂的,人的每一年的想法都可能会变,好好活着,过去就过去了,活在当下,展望未来,你正是年轻力壮充满可能性和选择的时候,祝楼主后面能找到你想要的事情和人。
本来今天不太开心的,被群主逗乐了,说不定明天又涨回去,怕啥
Jan 20, 2025
Replied to a topic by exploretheworld Java 项目全部是 map 传参
在维护的十年+的 java 老系统,很多这种情况,到了前端层也是,一堆盲写,慢慢 debug 、console log 加加注释,随着时间过去,就惯了
xbox360 有线,到最后的把蟋蟀毛的时候,rt 判定又问题,试过很多次都不行,换键盘才过的
May 23, 2023
Replied to a topic by klmd99 Visual Studio Code vscode 有点卡,换回了 sublime text
我也不知道装了啥,某个版本 vscode 升级后莫名其妙 vim + markdown 就各种卡顿,卸载了 vim 插件才好了,这...
LeetCode 46 题的题目描述为:给定一个不含重复数字的数组 nums ,返回其所有可能的全排列。你可以按任意顺序返回答案。

解题思路:

该题可以使用回溯算法来解决,回溯算法解决的问题都可以抽象成树结构,每个节点表示一个状态,每个节点的子节点表示在该状态下可以转移到的所有状态。

在本题中,我们可以将每个元素看作一个节点,然后每个节点的子节点是剩下的元素,表示选择了该元素后可以继续选择哪些元素。因此,我们可以使用回溯算法来遍历这棵树,找到所有的解。

具体实现时,我们可以使用一个数组来保存当前选择的元素,使用一个布尔数组来标记每个元素是否已经被选择过,然后按照如下步骤进行回溯:

如果选择的元素数量等于原始数组的长度,说明已经选择了所有元素,将当前选择的元素列表加入最终结果中。

遍历原始数组,对于每个未被选择过的元素,将其加入选择列表中,并将其标记为已选择,然后递归进入下一层。

回溯时,将选择列表中最后一个元素删除,并将其标记为未选择。

重复上述步骤,直到遍历完所有状态。

Java 代码实现:

class Solution {
public List<List<Integer>> permute(int[] nums) {
List<List<Integer>> res = new ArrayList<>();
boolean[] used = new boolean[nums.length];
backtrack(nums, new ArrayList<>(), used, res);
return res;
}

private void backtrack(int[] nums, List<Integer> temp, boolean[] used, List<List<Integer>> res) {
if (temp.size() == nums.length) {
res.add(new ArrayList<>(temp));
return;
}
for (int i = 0; i < nums.length; i++) {
if (!used[i]) {
temp.add(nums[i]);
used[i] = true;
backtrack(nums, temp, used, res);
used[i] = false;
temp.remove(temp.size() - 1);
}
}
}
}

时间复杂度:O(n×n!),其中 n 表示数组的长度,n! 表示全排列的总数,因为每个全排列包含 n 个元素,因此总共需要枚举 n×n! 个状态。

空间复杂度:O(n),其中 n 表示数组的长度,空间复杂度取决于递归调用栈的深度和存储当前选择的元素的列表。在最坏情况下,递归调用栈的深度为 n ,因此空间复杂度为 O(n)。
不用折腾,windows 放包前就该先关机...
Apr 5, 2023
Replied to a topic by 690617185 程序员 大家的学习笔记记录在哪啊?
obsidian + github
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5595 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 08:48 · PVG 16:48 · LAX 01:48 · JFK 04:48
♥ Do have faith in what you're doing.