1234567891011121314151617181920 |
- func arrayNesting(nums []int) int {
- max := 0
- visited := make([]bool, len(nums))
- for _, i := range nums {
- if !visited[i] {
- cnt := 0
- for {
- visited[i] = true
- cnt, i = cnt+1, nums[i]
- if visited[i] {
- break
- }
- }
- if max < cnt {
- max = cnt
- }
- }
- }
- return max
- }
|