mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
@ -244,31 +244,35 @@ func backtrack(nums,pathNums []int,used []bool){
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
Javascript:
|
||||
|
||||
```javascript
|
||||
```js
|
||||
|
||||
/**
|
||||
* @param {number[]} nums
|
||||
* @return {number[][]}
|
||||
*/
|
||||
var permute = function(nums) {
|
||||
let result = []
|
||||
let path = []
|
||||
function backtracing(used) {
|
||||
if(path.length === nums.length) {
|
||||
result.push(path.slice(0))
|
||||
return
|
||||
const res = [], path = [];
|
||||
backtracking(nums, nums.length, []);
|
||||
return res;
|
||||
|
||||
function backtracking(n, k, used) {
|
||||
if(path.length === k) {
|
||||
res.push(Array.from(path));
|
||||
return;
|
||||
}
|
||||
for(let i = 0; i < nums.length; i++) {
|
||||
if(used[nums[i]]) {
|
||||
continue
|
||||
}
|
||||
used[nums[i]] = true
|
||||
path.push(nums[i])
|
||||
backtracing(used)
|
||||
path.pop()
|
||||
used[nums[i]] = false
|
||||
for (let i = 0; i < k; i++ ) {
|
||||
if(used[i]) continue;
|
||||
path.push(n[i]);
|
||||
used[i] = true; // 同支
|
||||
backtracking(n, k, used);
|
||||
path.pop();
|
||||
used[i] = false;
|
||||
}
|
||||
}
|
||||
backtracing([])
|
||||
return result
|
||||
};
|
||||
|
||||
```
|
||||
|
@ -128,6 +128,33 @@ class Solution:
|
||||
|
||||
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
|
||||
var partitionLabels = function(s) {
|
||||
|
Reference in New Issue
Block a user