LeetCode 1035. Uncrossed Lines in F#
URL
Code
https://github.com/syohex/dotnet-study/tree/master/fsharp/leetcode/problems/1035/main.fsx
let maxUncrossedLines (nums1: int[]) (nums2: int[]) : int =
let len1 = nums1.Length
let len2 = nums2.Length
let dp = Array2D.zeroCreate (len1 + 1) (len2 + 1)
for i in 1..len1 do
for j in 1..len2 do
if nums1.[i - 1] = nums2.[j - 1] then
dp.[i, j] <- 1 + dp.[i - 1, j - 1]
else
dp.[i, j] <- System.Math.Max(dp.[i - 1, j], dp.[i, j - 1])
dp.[len1, len2]