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

题目

HJ103 Redraiment的走法

牛客 算法 HJ103 Redraiment的走法 golang语言实现_第1张图片

实现

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 
}

结果

牛客 算法 HJ103 Redraiment的走法 golang语言实现_第2张图片

你可能感兴趣的:(算法,golang,开发语言)