专栏首页学习日记Golang Leetcode 334. Increasing Triplet Subsequence.go

Golang Leetcode 334. Increasing Triplet Subsequence.go

版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/89068924

思路

dp算法

code

func increasingTriplet(nums []int) bool {
	return helper(nums, 3)
}

func helper(nums []int, k int) bool {
	if len(nums) < k {
		return false
	}
	dp := make([]int, k+1)
	dp[0] = math.MinInt32
	dp[1] = nums[0]
	maxLen := 1
	for i := 1; i < len(nums); i++ {
		for j := maxLen; j >= 0; j-- {
			if nums[i] > dp[j] {
				if j == maxLen {
					maxLen++
					if maxLen == k {
						return true
					}
				}
				dp[j+1] = nums[i]
				break
			}
		}
	}
	return false
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Golang Leetcode 198. House Robber.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/89011852

    anakinsun
  • Leetcode Golang 27. Remove Element.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/88902476

    anakinsun
  • Leetcode Golang 18. 4Sum.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/88935159

    anakinsun
  • 漫画:动态规划系列 第二讲

    在上一篇文章中,我们讲解了DP的概念并且通过示例了解了什么是动态规划。本篇中,我们将继续通过1道简单题型,进一步学习动态规划的思想。

    程序员小浩
  • 程序员面试金典 - 面试题 16.17. 连续数列(DP/分治)

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/contiguous-sequence-lcci 著...

    Michael阿明
  • 初级算法-动态规划

    动态规划主要是解一些递归问题,也就是将递归写成非递归方式,因为编辑器无法正确对待递归,递归方法会导致很多计算结果被重复计算,比如菲波那切数列。

    方丈的寺院
  • 详解三道一维的动态规划算法题

    在一条直线上,有n个房屋,每个房屋中有数量不等的财宝,有一个盗 贼希望从房屋中盗取财宝,由于房屋中有报警器,如果同时从相邻的两个房屋中盗取财宝就会触发报警器。问...

    帅地
  • 【leetcode刷题】T165-最长上升子序列

    https://leetcode-cn.com/problems/longest-increasing-subsequence/

    木又AI帮
  • 每日算法系列【LeetCode 312】戳气球

    有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。

    godweiyang
  • 算法细节系列(21):贪心有理?

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1147447

扫码关注云+社区

领取腾讯云代金券