机器人走路问题优化解法

embedded/2024/10/18 9:17:04/
public class Test53 {//假设有N个位置,记为1-N,N大于或等于2//开始机器人在M位置上(M为1-N中的一个)//如果机器人来到1位置,那么下一步只能向右来到2位置//如果机器人来到N位置,那么下一步只能向左来到N-1的位置//如果机器人在中间,那么既可以往左也可以往右//规定机器人走K步,最终来到P位置的方法有多少种//给N,M,K,P,返回数量public static int ways2(int N, int M, int K, int P) {if (N < 2 || K < 1 || M < 1 || M > N || P < 1 || P > N) {return 0;}int[][] dp = new int[N+1][K+1];for (int row = 0; row <= N; row++) {for (int col = 0; col <= K; col++) {dp[row][col] = -1;}}return walk(N, M, K, P, dp);}public static int walk(int N, int cur, int rest, int P, int[][] dp) {if (dp[cur][rest] != -1) {return dp[cur][rest];}if (rest == 0) {dp[cur][rest] = cur == P ? 1 : 0;return dp[cur][rest];}if (cur == 1) {dp[cur][rest] = walk(N, 2 ,rest - 1, P, dp);return dp[cur][rest];}if (cur == N) {dp[cur][rest] = walk(N, N - 1, rest - 1, P, dp);return dp[cur][rest];}dp[cur][rest] = walk(N, cur + 1, rest - 1, P, dp) + walk(N, cur - 1, rest - 1, P, dp);return dp[cur][rest];}
}

http://www.ppmy.cn/embedded/100904.html

相关文章

Vue小玩意儿:vue3+express.js实现大文件分片上传

vue3: <template><div><h1>大文件分片上传</h1><input type"file" change"onFileChange"/><div v-if"progress > 0">上传进度: {{ progress }}%</div></div> </template><script …

浅谈Kafka(三)

浅谈Kafka&#xff08;三&#xff09; 文章目录 浅谈Kafka&#xff08;三&#xff09;Kafka目录介绍基础操作JMX接口消费者是否能够消费指定分区的消息生产者是否发送消息到leader创建主题时如何把分区放到不同broker中Kafka新建的分区在哪个目录创建Kafka java示例 Kafka目录介…

代码随想录算法训练营第十一天|150. 逆波兰表达式求值 、239. 滑动窗口最大值、347.前 K 个高频元素

Leetcode150. 逆波兰表达式求值 题目链接&#xff1a;150. 逆波兰表达式求值 C&#xff1a; class Solution { public:int evalRPN(vector<string>& tokens) {stack<long long> st; for (int i 0; i < tokens.size(); i) {if (tokens[i] "" …

解密网络安全:初学者指南

密码学是网络安全的基石&#xff0c;它不仅确保数据的机密性&#xff0c;还能保护数据的完整性和不可否认性。本文将带领你了解密码学的基本概念以及它在保护数据机密性中的应用。 什么是密码学&#xff1f; 当我们通过计算机网络传输数据时&#xff0c;如果无法防止他人窃听…

dubbo:dubbo+zookeeper整合nginx实现网关(四)

文章目录 0. 引言1. nginx简介2. 集成nginx2.1 负载均衡实现 3. 源码4. 总结 0. 引言 我们之前讲解过dubbozookeeper实现服务调用和注册中心&#xff0c;但是还缺乏一个统一的入口&#xff0c;即网关服务。dubbozookeeper的模式更加适合的网关组件为nginx&#xff0c;所以今天…

【Kubernetes】K8s中Container(容器)、Pod(小组)和node(节点)概念讲解

Kubernetes学习之路 第一章 Kubernetes学习入门之Container(容器)、Pod(小组)和node(节点)概念 文章目录 Kubernetes学习之路前言一、Container&#xff08;容器&#xff09;二、Pod&#xff08;小组&#xff09;1.单容器 Pod2.多容器 Pod 三、Container&#xff08;容器&…

Go 调用Rust函数

Go 调用Rust函数 在golang 中,go可以引用c代码&#xff0c;和c共舞&#xff0c;也就是cgo.在一些包里就能看到cgo的身影&#xff0c;gopcap(引用了libpcap),go-sqlite(引用了libsqlite).毕竟c是"万物之主"嘛.本文利用cgo实现go调rust函数 这是一个rust demo用于生成…

目标检测:从主干网络到检测头的全面剖析

目标检测&#xff1a;从主干网络到检测头的全面剖析 引言 目标检测作为计算机视觉领域的一个重要研究方向&#xff0c;旨在从图像或视频中自动识别并定位出感兴趣的目标。近年来&#xff0c;随着深度学习技术的飞速发展&#xff0c;基于卷积神经网络&#xff08;CNN&#xff…