《剑指offer》练习及解析(C++代码)13-16

2023-10-28

一.剑指 Offer 13. 机器人的运动范围

解法:

1.回溯法

一种搜索方法,每次选择一个方向向前搜索,直到到达最优目标或确定无法达到目标时,后退重新向未选择的方向前进。

用二维数组记录是否走过此位置,且每次只需向下或向右行进即可

代码:

//My solution 回溯
//24ms:6.5 ;10mb:100, O(n)
class Solution {
public:
    const vector<vector<int>> step={
  {1,0},{0,1}};
    int movingCount(int m, int n, int k) {
        vector<vector<int>> ismov(m, vector<int>(n,0));
        ismov[0][0]=1;
        int sum=1;
        move(m,n,k,0,0,ismov, sum);
        return sum;
    }
    //回溯过程
    void move(int m, int n, int k, 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《剑指offer》练习及解析(C++代码)13-16 的相关文章

  • 牛客网算法教程-中级篇-第一章

    文章目录 学习目标 学习内容 学习时间 学习产出 1 旋转词 模拟 2 旋转矩阵 模拟 3 数轴覆盖 贪心 4 1 完整字符串1 括号字符串的有效性 栈 4 2 完整字符串2 缺失的括号 栈 4 3 完整字符串3 最长合法括号子串 栈 5
  • 剑指Offer-链表-面试题62:圆圈中最后剩下的数字

    面试题62 圆圈中最后剩下的数字 题目描述 每年六一儿童节 牛客都会准备一些小礼物去看望孤儿院的小朋友 今年亦是如此 HF作为牛客的资深元老 自然也准备了一些小游戏 其中 有个游戏是这样的 首先 让小朋友们围成一个大圈 然后 他随机指定一个
  • 1061 判断题

    判断题的评判很简单 本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分 输入格式 输入在第一行给出两个不超过 100 的正整数 N 和 M 分别是学生人数和判断题数量 第二行给出 M 个不超过 5 的正整数 是每道题的满分值 第
  • LeetCode-2373. 矩阵中的局部最大值【矩阵,数组】

    LeetCode 2373 矩阵中的局部最大值 矩阵 数组 题目描述 解题思路一 原地修改 首先将每个3 3的矩阵的最大值存放在左上角的点 然后修改给的grid矩阵的大小 解题思路二 暴力 申请一个数组 解题思路三 0 题目描述 给你一个大
  • LeetCode-1792. 最大平均通过率【堆,优先队列,贪心】

    LeetCode 1792 最大平均通过率 堆 优先队列 贪心 题目描述 解题思路一 优先队列 首先任何一个班级 x y 加入一个聪明的学生之后增加的通过率为diff x 1 y 1 x y 那么对p进行堆排序 每次取最大的即可 解题思路二
  • 剑指 Offer 43. 1~n 整数中 1 出现的次数

    目录 编辑 一 问题描述 二 例子 三 题目接口 四 题目解答 1 暴力解法 2 规律解法 总结 代码 一 问题描述 输入一个整数 n 求1 n这n个整数的十进制表示中1出现的次数 例如 输入12 1 12这些整数中包含1 的数字有1 10
  • 剑指offer_第3题_从尾到头打印链表

    题目描述 输入一个链表 按链表值从尾到头的顺序返回一个ArrayList 链表结构 class ListNode def init self x self val x self next None 理解 什么是链表 python数据结构之链
  • 算法—反转链表

    题目 实现单链表的逆转函数 输入一个链表 反转链表后 返回翻转之后的链表 分析 利用三个指针 head node nodeNext node指向当前结点 head指向当前结点的前一个结点 nodeNext指向当前结点的后一个结点 先将hea
  • 剑指offer:中等部分

    剑指offer 中等部分 001 求1 2 n 求 1 2 n 要求不能使用乘除法 for while if else switch case等关键字及条件判断语句 A B C 示例 1 输入 n 3 输出 6 示例 2 输入 n 9 输出
  • 数学04--丑数

    数学04 丑数 jz33 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 把只包含质因子2 3和5的数称作丑数 Ugly Number 例如6 8都是丑数 但14不是 因为它包含质因子7 习惯上我们把1当做是第一个丑数 求按从
  • 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。

    题目 定义栈的数据结构 请在该类型中实现一个能够得到栈中所含最小元素的min函数 时间复杂度应为O 1 分析 使用双栈实现 一个数据栈data 一个最小栈min 数据栈存正常入栈的元素 最小栈永远存数据栈中当前最小值 具体是依靠以下规则来实
  • JZ15 二进制中1的个数

    输入一个整数 n 输出该数32位二进制表示中1的个数 其中负数用补码表示 数据范围 2 31 lt n lt 2 31 1 231 lt n lt 231 1 即范围为 2147483648 lt n lt 2147483647 21474
  • 剑指offer--顺时针打印矩阵

    题目描述 输入一个矩阵 按照从外向里以顺时针的顺序依次打印出每一个数字 例如 如果输入如下矩阵 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1 2 3 4 8 12 16 15 14 13
  • Acwing-包含min函数的栈

    stk表示存入这些数据的栈 stk min表示栈里面前i数中的最小值是多少 class MinStack public stack
  • 树09--二叉树的下一个结点

    树09 二叉树的下一个结点 jz57 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 给定一个二叉树其中的一个结点 请找出中序遍历顺序的下一个结点并且返回 注意 树中的结点不仅包含左右子结点 同时包含指向父结点的next指针
  • 力扣-图解算法数据结构-剑指 Offer 05. 替换空格

    题目要求 力扣题解 代码 program mydemo description 剑指 Offer 05 替换空格 author Mr zeng create 2021 03 05 11 04 public class Solution1 p
  • 求二叉树中两个指定节点的最短距离

    给定一个二叉树 找到该树中两个指定节点间的最短距离 思路 求最近公共祖先节点 然后再求最近公共祖先节点到两个指定节点的路径 再求两个节点的路径之和 const shortestDistance function root p q let l
  • 字符串09--表示数值的字符串

    字符串09 表示数值的字符串 jz53 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 请实现一个函数用来判断字符串是否表示数值 包括整数和小数 例如 字符串 100 5e2 123 3 1416 和 1E 16 都表示数值
  • 剑指Offer 12—矩阵中的路径

    题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 如果 word 存在于网格中 返回 true 否则 返回 false 单词必须按照字母顺序 通过相邻的单元格内的字母构成 其中 相邻 单元格是那些水平相邻
  • 剑指 Offer(第2版)面试题 40:最小的 k 个数

    剑指 Offer 第2版 面试题 40 最小的 k 个数 剑指 Offer 第2版 面试题 40 最小的 k 个数 解法1 排序 解法2 快速选择 解法3 优先队列 剑指 Offer 第2版 面试题 40 最小的 k 个数 题目来源 53

随机推荐

  • 硬件系统工程师宝典(14)-----建议收藏!常用的多层板叠层结构“大揭秘”

    各位同学大家好 欢迎继续做客电子工程学习圈 今天我们继续来讲这本书 硬件系统工程师宝典 上篇我们说到PCB的布局可根据功能 频率 信号类型划分 布局时考虑敏感信号远离噪声源 今天我们来看看多层板的常用叠层结构 四层板的叠层结构 四层板的叠层
  • 用python对excel进行批量处理(1):将表格中的url用requests替换成图片

    前言 事情是这样的 npy说今天的工作里有一个900个项目的excel 表格的样子大概如下图所示 需求呢是将下图中的url全部替换成对应的图片添加到excel中 作为一个程序员 这样的任务要是手动做真是太难为人了 所以打算帮npy减轻一下负
  • (尚硅谷)JavaWeb新版教程08-QQZone项目的实现

    目录 1 熟悉 QQZone 业务需求 2 数据库设计 2 1 抽取实体 2 2 分析其中的属性 2 3 分析实体之间的关系 2 4 数据库的范式 3 根据数据库的表新建 pojo 类 ORM编程思想 3 1 UserBasic 类 3 2
  • CTFshow web入门 web3

    CTFshow web入门 web3 题目提示没思路的时候进行抓一下包 这道题还可以用burpsuite来抓 但是感觉有点大材小用 直接用Network做比较简单点
  • Pyqt5+python2.7 美观的登陆界面制作(二)

    简介 继上一篇的安装 这一篇主要讲下登陆界面的制作 之后也会把自己做毕业设计中在csdn上没有找到自己解决的一些界面上的问题解决方法共享出来 最近事情比较多 更新会有点慢 但还是希望能对大家有帮助啦 先上一张我毕业设计最后做出来的登陆界面效
  • 哈夫曼编码(最优前缀码)

    作为哈夫曼树的一个重要应用 我们来介绍哈夫曼编码 在我的上一篇博文 树之哈夫曼树 中已经介绍了建立哈夫曼树的过程 而由哈夫曼树求得的编码为最优前缀码 每个叶子表示的字符的编码 就是从根到叶子的路径上的标号依次相连所形成的编码 显然这就是该字
  • 人工智能数学基础---定积分4:使用换元法计算定积分

    一 引言 在 人工智能数学基础 不定积分2 利用换元法求不定积分 介绍了三种换元法求不定积分的方法及案例 在 人工智能数学基础 定积分3 微积分基本公式 牛顿 莱布尼茨公式 介绍了可以使用微积分基本公式 牛顿 莱布尼茨公式计算定积分 那么在
  • openGL之API学习(六十六)EmitVertex EndPrimitive

    EmitVertex表示输出一个顶点 而EndPrimitive表示结束一个图元的输出 这是一对命令 只有几何着色器才有的命令 几何着色器的图元通过两个特殊的内置函数生成的 即EmitVertex 和EndPrimitive 每个着色器请求
  • docker 安装ES和分词插件详细版教程

    一 安装ElasticSearch 1 下载镜像 docker pull docker elastic co elasticsearch elasticsearch 6 3 2 用docker images查看已下载的镜像 可选 对镜像命名
  • 机器学习算法的随机数据生成

    作者 刘建平Pinard 链接 https www cnblogs com pinard p 6047802 html 编辑 石头 在学习机器学习算法的过程中 我们经常需要数据来验证算法 调试参数 但是找到一组十分合适某种特定算法类型的数据
  • Intellij IDEA自定义Live Templates提高编码效率

    Intellij IDEA Live Templates 详情见 https www cnblogs com expiator p 17380434 html 自定义Live Templates的示例 以下的示例 都是使用首字母 作为关键词
  • 让工作效率提升10倍的浏览器,真是太棒了

    浏览器不仅仅是用来搜索查询资料的工具 它还可以让我们看新闻资源 最重要的是可以帮助我们完成各种各样的工作 提升工作效率 我最近发现了一款能够让工作效率提升10倍的浏览器 它的工具非常丰富 而且支持在线工具免费使用 我建议大家一定要收藏起来好
  • Linux查看mysql是否启动+mysql启动(全)

    整理一下Linux下启动mysql服务的命令 目录 1 使用命令 service mysqld status 2 使用命令 ps aux grep mysqld 3 使用命令 pidof mysqld 4 使用命令 ps ef grep m
  • Arcgis Pro中加载osgb(倾斜)数据

    1 新建工程 不能含中文路径 设置坐标系 2 转换格式 3 新建场景加载数据 4 直接拖动 slpk数据到场景中即可
  • WINDOWS专集大集合,绝对是精品中的精品

    WINDOWS专集大集合 绝对是精品中的精品 每IP最多5个线程 请勿尝试多线程下载 以免被封IP 史努比系统维修启动光盘 3 8 最终版 软件类别 国产软件 操作系统 软件语言 简体中文 软件大小 602M 更新内容 1 KVDOS 20
  • [移动通讯]【Carrier Aggregation-4】【LTE-5】

    前言 前面讲过通过能力上报 以及RRC Connection Reconfiguration 添加SCell 添加完成后 UE 处于Inactive 状态 本章主要讨论一下 Inactive 状态Active 状态的切换 3GPP TS 3
  • python 根据C盘卷号进行 加密解密,可以用做软件激活码

    import base64 import win32api from pyDes import from pyDes import des PAD PKCS5 ECB from binascii import a2b hex 如果需要用二进
  • JavaFX程序关闭的正确方式

    当用户试图退出程序时 程序能够有机会进行确认和清理的工作 因此 正确的程序退出过程应该包含一些步骤 增加Button或菜单 让用户发布希望退出程序的信号 可选 显示窗口 确认用户真的希望退出程序 执行必要的清理工作 如 关闭文件和其他资源
  • Netty 是什么?和 Tomcat 有什么区别?特点是什么?

    Netty 是一个基于 NIO 的异步网络通信框架 性能高 封装了原生 NIO 编码的复杂度 开发者可以直接使用 Netty 来开发高效率的各种网络服务器 并且编码简单 Tomcat 是一个 Web 服务器 是一个 Servlet 容器 基
  • 《剑指offer》练习及解析(C++代码)13-16

    一 剑指 Offer 13 机器人的运动范围 解法 1 回溯法 一种搜索方法 每次选择一个方向向前搜索 直到到达最优目标或确定无法达到目标时 后退重新向未选择的方向前进 用二维数组记录是否走过此位置 且每次只需向下或向右行进即可 代码 My