牛客 算法 HJ103 Redraiment的走法 golang语言实现

题目

HJ103 Redraiment的走法

实现

go 复制代码
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	nums := make([]int, 0)
    nums_len:=0
    dp:=make([]int, 0)
	for scanner.Scan() {
		input := scanner.Text()
		nums_str := strings.Fields(input)
		if len(nums_str) == 1 {
            nums_len,_ = strconv.Atoi(nums_str[0])
            for i:=0;i<nums_len;i++{
                 dp = append(dp, 1)  
            }
		} else {
			for _, v := range nums_str {
				v_int, _ := strconv.Atoi(v)
				nums = append(nums, v_int)
			}
		}
	}

    max_result := 1
    for i,vi:=range nums{
          for j:=0;j<=i;j++{
            if nums[j]<vi{
                dp[i] = max(dp[i], dp[j]+1)
                max_result = max(dp[i], max_result)
            }
          }  
    }
    fmt.Printf("%d", max_result)
}

func max(a,b int)int{
    if a>b {
        return a 
    }
    return b 
}

结果

相关推荐
p***h64334 分钟前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
fengfuyao98534 分钟前
竞争性自适应重加权算法(CARS)的MATLAB实现
算法
散峰而望36 分钟前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
leoufung37 分钟前
LeetCode 92 反转链表 II 全流程详解
算法·leetcode·链表
Porunarufu38 分钟前
Java·关于List
java·开发语言
子不语1801 小时前
Python——函数
开发语言·python
wyhwust1 小时前
交换排序法&冒泡排序法& 选择排序法&插入排序的算法步骤
数据结构·算法·排序算法
利刃大大1 小时前
【动态规划:背包问题】完全平方数
c++·算法·动态规划·背包问题·完全背包
ndjnddjxn1 小时前
Rust学习
开发语言·学习·rust
月光技术杂谈1 小时前
实战:C驱动框架嵌入Rust模块的互操作机制与完整流程
c语言·开发语言·rust·ffi·跨语言·bindgen·互操作