mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
@ -244,31 +244,35 @@ func backtrack(nums,pathNums []int,used []bool){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
Javascript:
|
Javascript:
|
||||||
|
|
||||||
```javascript
|
```js
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {number[]} nums
|
||||||
|
* @return {number[][]}
|
||||||
|
*/
|
||||||
var permute = function(nums) {
|
var permute = function(nums) {
|
||||||
let result = []
|
const res = [], path = [];
|
||||||
let path = []
|
backtracking(nums, nums.length, []);
|
||||||
function backtracing(used) {
|
return res;
|
||||||
if(path.length === nums.length) {
|
|
||||||
result.push(path.slice(0))
|
function backtracking(n, k, used) {
|
||||||
return
|
if(path.length === k) {
|
||||||
|
res.push(Array.from(path));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
for(let i = 0; i < nums.length; i++) {
|
for (let i = 0; i < k; i++ ) {
|
||||||
if(used[nums[i]]) {
|
if(used[i]) continue;
|
||||||
continue
|
path.push(n[i]);
|
||||||
}
|
used[i] = true; // 同支
|
||||||
used[nums[i]] = true
|
backtracking(n, k, used);
|
||||||
path.push(nums[i])
|
path.pop();
|
||||||
backtracing(used)
|
used[i] = false;
|
||||||
path.pop()
|
|
||||||
used[nums[i]] = false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
backtracing([])
|
|
||||||
return result
|
|
||||||
};
|
};
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -128,6 +128,33 @@ class Solution:
|
|||||||
|
|
||||||
Go:
|
Go:
|
||||||
|
|
||||||
|
```go
|
||||||
|
|
||||||
|
func partitionLabels(s string) []int {
|
||||||
|
var res []int;
|
||||||
|
var marks [26]int;
|
||||||
|
size, left, right := len(s), 0, 0;
|
||||||
|
for i := 0; i < size; i++ {
|
||||||
|
marks[s[i] - 'a'] = i;
|
||||||
|
}
|
||||||
|
for i := 0; i < size; i++ {
|
||||||
|
right = max(right, marks[s[i] - 'a']);
|
||||||
|
if i == right {
|
||||||
|
res = append(res, right - left + 1);
|
||||||
|
left = i + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
func max(a, b int) int {
|
||||||
|
if a < b {
|
||||||
|
a = b;
|
||||||
|
}
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Javascript:
|
Javascript:
|
||||||
```Javascript
|
```Javascript
|
||||||
var partitionLabels = function(s) {
|
var partitionLabels = function(s) {
|
||||||
|
Reference in New Issue
Block a user