package main

import ( 'fmt' 'math' )

func main() { var n int var f []int fmt.Scan(&n) f = make([]int, n+1) for i := 1; i <= n; i++ { f[i] = f[i-1] + 1 if i-5 > -1 { f[i] = int(math.Min(float64(f[i]), float64(f[i-5]+1))) } if i-11 > -1 { f[i] = int(math.Min(float64(f[i]), float64(f[i-11]+1))) } } fmt.Println(f[n]) }

// 转换成 C# 代码

using System;

public class Program { public static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); int[] f = new int[n + 1]; for (int i = 1; i <= n; i++) { f[i] = f[i - 1] + 1; if (i - 5 > -1) { f[i] = Math.Min(f[i], f[i - 5] + 1); } if (i - 11 > -1) { f[i] = Math.Min(f[i], f[i - 11] + 1); } } Console.WriteLine(f[n]); } }

Golang 动态规划解题:最小步数问题

原文地址: https://www.cveoy.top/t/topic/ocA8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录