var arrayNesting = function(nums) {
let res=0
let visited=new Array(nums.length).fill(0)
for(let i=0
let cur=0
while(!visited[i]){
visited[i]=true
i=nums[i]
cur++
}
res=Math.max(res,cur)
}
return res
}
var minFlipsMonoIncr = function(s) {
let dp = 0, one = 0
for (let i of s) {
if (i == '0') {
dp = Math.min(one, dp+1)
} else {
one++
}
}
return dp
}
var lenLongestFibSubseq = function(arr) {
let map=new Map()
for(let i=0
map.set(arr[i],i)
}
const dp=new Array(arr.length).fill(0).map(()=>new Array(arr.length).fill(0))
let res=0
for(let i=0
for(let j=arr.length-1
if(arr[j]*2<=arr[i]){
break
}
if(map.has(arr[i]-arr[j])){
let k=map.get(arr[i]-arr[j])
dp[j][i]=Math.max(dp[k][j]+1,3)
res=Math.max(res,dp[j][i])
}
}
}
return res
}