935. 骑士拨号器

news2024/10/1 23:36:21

935. 骑士拨号器

  • 原题链接:
  • 完成情况:
  • 解题思路:
  • 参考代码:

原题链接:

935. 骑士拨号器
https://leetcode.cn/problems/knight-dialer/description/

完成情况:

在这里插入图片描述

解题思路:

 题目要求:
    键盘上的数字,随便选择
    输入,代表你要返回的长度

    然后走法只能走L行。

在这里插入图片描述

参考代码:

package 西湖算法题解___中等题;

import java.util.Arrays;

public class __935骑士拨号器 {
	/**
	 题目要求:
	    键盘上的数字,随便选择
	    输入,代表你要返回的长度

	    然后走法只能走L行。
	 * @param n
	 * @return
	 */
	public int knightDialer(int n) {
		//dp    ->      方法一:动态规划
		//所以输出答案模 109 + 7.
		int mod = 1000000007;
		int [][] moves = new int[][]{
				{4,6},{6,8},{7,9},{4,8},{3,9,0},
				{},{1,7,0},{2,6},{1,3},{2,4}
		};
		int dp_knightDialer [][] = new int[2][10];
		Arrays.fill(dp_knightDialer[0],1);
		for (int hops = 0;hops <n-1;hops++){
			Arrays.fill(dp_knightDialer[~hops & 1],0);
			for (int node = 0;node < 10;node++){
				for (int state:moves[node]){
					dp_knightDialer[~hops & 1][state] += dp_knightDialer[hops & 1][node];
					dp_knightDialer[~hops & 1][state] %= mod;
				}
			}

		}
		long res = 0;
		for (int x :dp_knightDialer[~n & 1]){
			res += x;
		}
		return (int)(res % mod);
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/983493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络技术二十:OSPF

OSPF RIP的缺陷 最大跳数限制了网络规模 以跳数为度量值无法准确判断最优路径 路由更新发送完整路由表消耗网络带宽 收敛速度慢 协议会产生路由自环 定义 开放式最短路径优先&#xff0c;基于链路状态特征 工作在IP层&#xff0c;协议号89 OSPF初始化流程 1.建立邻居和邻…

实现无公网IP的公网环境下Windows远程桌面Ubuntu 18.04连接,高效远程办公!

文章目录 一、 同个局域网内远程桌面Ubuntu1. 更新软件仓库2. 安装支持包3. 安装XFCE4桌面环境4. 安装XRDP5. 环境设置5.1 XFCE桌面配置5.2 在配置文件中&#xff0c;加入XFCE会话 6 重启服务7. 查看IP地址8. 使用Windows远程桌面连接 二、公网环境系统远程桌面Ubuntu1. 注册cp…

解锁前端Vue3宝藏级资料 第一章 带你深入了解Vue3项目创建 1 (Vue CLI 创建vue项目)

Vue.js是一款广受欢迎的JavaScript框架&#xff0c;专为创建网站、web应用程序和管理系统等前端用户界面(UI)设计。其流行不仅因为它拥有庞大的开发者社区和丰富的学习资源&#xff0c;还因为它具有低学习成本和易于上手的特点。当你在使用中遇到疑问或困难时&#xff0c;可以轻…

漏洞修复-SSH版本信息可被获取漏洞

漏洞修复-SSH版本信息可被获取漏洞 1、背景2、环境3、思路4、实操 1、背景 新分配下来的云服务&#xff0c;在没有投入生产环境之前&#xff0c;漏扫和安全防固是两项基本工作。云安全产品扫描过后导出的漏洞信息如下&#xff1a; 漏洞详情&#xff1a; 威胁分值 &#xff1…

pg分组过滤

方法&#xff1a; 注意&#xff1a; 出现多个字段&#xff0c;必须要在group by中添加分组依据。或者聚合函数不用 where过滤分组前的&#xff0c;having过滤分组后的&#xff0c;count是分组后产生的

外汇MT4实战技巧:利用挂单和追踪止损提升交易效果

外汇交易是一项高风险的投资活动&#xff0c;需要交易者具备良好的市场分析能力和实战经验。对于MT4&#xff08;可在mtw.so/6gwPno这点下&#xff09;交易平台的使用者来说&#xff0c;掌握挂单和追踪止损这两种实战技巧可以有效提升交易效果。本文将为您详细介绍这两种技巧的…

Ivanti Sentry 身份验证绕过漏洞 CVE-2023-38035

Ivanti Sentry 身份验证绕过漏洞 CVE-2023-38035 最近&#xff0c;网络上披露了Ivanti Sentry&#xff08;以前称为MobileIron Sentry&#xff09;中发现的漏洞。此漏洞影响版本为 9.18 及更早版本。此漏洞不会影响其他 Ivanti 产品&#xff0c;例如 Ivanti EPMM 或 Ivanti Ne…

LabelImg标注快捷键

LabelImg标注快捷键 由于吃了屎的原因&#xff0c;在标注数据 其实快捷键都有显示 保存标注文件&#xff1a;ctrls A&#xff1a;切换到上一张图片 D&#xff1a;切换到下一张图片 W&#xff1a;调出标注十字架 del &#xff1a;删除标注框框 Ctrlu&#xff1a;选择标注的图…

代码随想录笔记--回溯算法篇

1--回溯算法理论基础 回溯算法本质上是一个暴力搜索的过程&#xff0c;其常用于解决组合、切割、子集、排列等问题&#xff0c;其一般模板如下&#xff1a; void backTracking(参数){if(终止条件){// 1. 收获结果;// 2. return;}for(..遍历){// 1. 处理节点// 2. 递归搜索// 3.…

异地远程访问内网BUG管理系统【Cpolar内网穿透】

文章目录 前言1. 本地安装配置BUG管理系统2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射本地服务3. 测试公网远程访问4. 配置固定二级子域名4.1 保留一个二级子域名5.1 配置二级子域名6. 使用固定二级子域名远程 前言 BUG管理软件,作为软件测试工程师的必备工具之一。在…

前端组件库造轮子——Message组件开发教程

前端组件库造轮子——Message组件开发教程 前言 本系列旨在记录前端组件库开发经验&#xff0c;我们的组件库项目目前已在Github开源&#xff0c;下面是项目的部分组件。文章会详细介绍一些造组件库轮子的技巧并且最后会给出完整的演示demo。 文章旨在总结经验&#xff0c;开…

Linux修复软RAID

系统应该将mdadm配置成当发生RAID问题时给root用户发送邮件。需要更改/etc/mdadm/mdadm.xonf里的MALLADDR 并用/etc/init.d/mdadm reload重新加载下 查看/proc/mdstat文件 可以看到sdd1被标记F&#xff0c;说明它已经失效 从/dev/md0中移除磁盘sdd1 想要移除磁盘&#xff…

vmware workstation设置固定ip的几种方法

环境: keyvalue宿主机系统Windows11虚拟机系统Ubuntu20.04虚拟化软件vmware workstation 17 provmware workstation网络模式NAT 众所周知,vmware workstation在NAT模式下,会使用dhcp分配ip,每个ip的默认租约是半小时(1800s),最大租约时间也只有2小时(7200s),所以ip会频繁变动…

C++项目实战——基于多设计模式下的同步异步日志系统-①-项目介绍

文章目录 专栏导读项目介绍开发环境核心技术环境搭建日志系统介绍1.为什么需要日志系统2.日志系统技术实现2.1同步写日志2.2异步写日志 专栏导读 &#x1f338;作者简介&#xff1a;花想云 &#xff0c;在读本科生一枚&#xff0c;C/C领域新星创作者&#xff0c;新星计划导师&a…

mysql 锁解决的办法

可以查看锁的信息,TRX_MYSQL_THREAD_ID 为processlist的表中的会话id,用于kill select trx_id,trx_state,trx_started,trx_requested_lock_id,trx_wait_started,trx_weight,trx_mysql_thread_id,trx_query from innodb_trx 可以查看锁的模式&#xff0c;类型&#xff0c;锁的表…

安防视频监控/视频汇聚平台EasyCVR服务重启,海康SDK设备无法上线是什么原因?

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。旭帆科技平台既具备传统安防视频监控…

Elasticsearch:利用向量搜索进行音乐信息检索

作者&#xff1a;Alex Salgado 欢迎来到音乐信息检索的未来&#xff0c;机器学习、向量数据库和音频数据分析融合在一起&#xff0c;带来令人兴奋的新可能性&#xff01; 如果你对音乐数据分析领域感兴趣&#xff0c;或者只是热衷于技术如何彻底改变音乐行业&#xff0c;那么本…

Pycharm创建项目时如何自动添加头部信息

1.打开PyCharm&#xff0c;选择File--Settings 2.依次选择Editor---Code Style-- File and Code Templates---Python Script 3..添加头部内容 可以根据需要添加相应的信息 #!/usr/bin/python3可用的预定义文件模板变量为&#xff1a;$ {PROJECT_NAME} - 当前项目的名称。$ {NAM…

基于减法优化SABO优化ELM(SABO-ELM)负荷预测(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

第4篇 vue的常用事件操作

一 vue常用操作案例 1.1 事件渲染 1.数据渲染的方式&#xff1a;使用插值表达式{{}}进行数据渲染 2.数据渲染的方式&#xff1a;以使用 v-bind指令&#xff0c;它的简写的形式就是一个冒号&#xff08;:&#xff09;&#xff0c;v-bind 特性被称为指令。指令带有前缀 v- 代…