算法训练营day44(补),动态规划12

func max(a, b int) int {

  if a > b {

    return a

  }

  return b

}

//300. 最长递增子序列

func lengthOfLIS(nums []int) int {

  dp := make([]int, len(nums))

  for i := range dp {

    dp[i] = 1

  }

  for i := 1; i < len(nums); i++ {

    for j := 0; j < i; j++ {

        //收集所有子序列

      if nums[i] > nums[j] {

        dp[i] = max(dp[j]+1, dp[i])

      }

    }

  }

  num := 0

//求最长

  for i := 0; i < len(nums); i++ {

    num = max(num, dp[i])

  }

  return num

}

//674. 最长连续递增序列

func findLengthOfLCIS(nums []int) int {

  dp := make([]int, len(nums))

  for i := range dp {

    dp[i] = 1

  }

  for i := 1; i < len(nums); i++ {

   //因为要求连续,遍历1次即可

    if nums[i] > nums[i-1] {

      dp[i] = dp[i-1] + 1

    }

  }

  num := 0

//求最长

  for i := 0; i < len(nums); i++ {

    num = max(num, dp[i])

  }

  return num

}

//718. 最长重复子数组

func findLength(nums1 []int, nums2 []int) int {

  dp := make([][]int, len(nums1)+1)

  for i := 0; i <= len(nums1); i++ {

    dp[i] = make([]int, len(nums2)+1)

  }

  num := 0

  for i := 1; i <= len(nums1); i++ {

    for j := 1; j <= len(nums2); j++ {

      //收集所有重复子序列

      if nums1[i-1] == nums2[j-1] {

        dp[i][j] = dp[i-1][j-1] + 1

      }

     //求最长

      if dp[i][j] > num {

        num = dp[i][j]

      }

    }

  }

  return num

}

相关推荐

  1. 算法训练day44(),动态规划12

    2024-03-14 04:18:04       34 阅读
  2. 算法训练Day49动态规划10

    2024-03-14 04:18:04       58 阅读
  3. 算法训练day47,动态规划15

    2024-03-14 04:18:04       42 阅读
  4. 算法训练Day40(动态规划

    2024-03-14 04:18:04       63 阅读
  5. 算法训练Day43动态规划5)

    2024-03-14 04:18:04       64 阅读
  6. 算法训练Day48动态规划9)

    2024-03-14 04:18:04       56 阅读
  7. 算法训练Day50(动态规划11

    2024-03-14 04:18:04       60 阅读
  8. 算法训练Day53(动态规划14

    2024-03-14 04:18:04       55 阅读
  9. 算法训练Day52(动态规划13

    2024-03-14 04:18:04       46 阅读
  10. 算法训练Day56(动态规划16

    2024-03-14 04:18:04       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 04:18:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 04:18:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 04:18:04       82 阅读
  4. Python语言-面向对象

    2024-03-14 04:18:04       91 阅读

热门阅读

  1. 顺序表的构建(C++)---- 代码 + 注释

    2024-03-14 04:18:04       43 阅读
  2. dao5的Sia Khazamipour确认出席Hack.Summit() 2024

    2024-03-14 04:18:04       43 阅读
  3. SkiROS2:技能型机器人控制平台的探索之旅

    2024-03-14 04:18:04       47 阅读
  4. inversions

    2024-03-14 04:18:04       42 阅读
  5. Lua 如何在Lua中调用C/C++函数

    2024-03-14 04:18:04       38 阅读
  6. Unity3D 动态生成场景管理节点详解

    2024-03-14 04:18:04       43 阅读
  7. Hive函数 EXPLODE 和 POSEXPLODE 使用示例

    2024-03-14 04:18:04       41 阅读
  8. 记录一次大厂面试题

    2024-03-14 04:18:04       43 阅读
  9. 嵌入式学习日记 27

    2024-03-14 04:18:04       42 阅读
  10. C后端开发,记录一个关于条件变量的死锁bug

    2024-03-14 04:18:04       39 阅读