| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 《剑指offer》专题—算法训练 day03 -> 正文阅读 |
|
[数据结构与算法]《剑指offer》专题—算法训练 day03 |
《剑指offer》专题—算法训练day03??接着上一篇我们提到的 斐波那契数列,我们来 简单了解一下 动态规划问题 ??现阶段我们解决动归问题,只需要了解三个步骤
??下面我们通过两道题,也就是《青蛙跳台阶》、《矩形覆盖》两个部分进行深入实践 一、青蛙跳台阶https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4? 思路
我们可以根据题意得到 如果 青蛙要跳到 n 级台阶的跳法怎么算
所以我们根据这些条件,可以编写相关代码了 相关代码
二、矩形覆盖https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6? 思路这个题的思路和上面青蛙跳台阶基本一致,我们还是再来分析一下吧 ??我们可以发现,就是如果我们 最后 如果要 覆盖成一个 2*n 的矩形,最后一步的方法,可以一次放1个竖的,要么直接放2个横的
我们得到了状态转移方程
然后开始设置初始值 n=0时 方法有0种
n=1时 方法有1种 (竖的放一个)
n=2时 方法有2种 (竖的放两个、或者横的放两个)
n=3时,方法有三种,如题中所给的那三种方法
根据上述的相关条件,我们可以编写这道题的代码了
三、链表中倒数第k个结点https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a? 思路举一个例子: ??我先提供一个 已有的链表结构 ??我们现在提供 给一个整形参数 k = 2 ,找到这个链表结构中的倒数第二个节点 。
这种思路我们在实际链表中 走一遍… 设置 fast 、slow 指向head 头节点 fast 先走 k-1 步, slow 保持不动 slow、fast 同时向后走,直到 fast 为指为null ??此时 slow 指向的就是 我们题目所求的链表的 倒数第 2 个节点。 ??返回 slow。 ??好的 思路二能够找到倒数第 K 个节点,我们来就具体实现其每一个步骤的具体思路
??但是 ,上面的代码思路仍然有缺陷,在判断 k 的合法性时, 如果 k > sizeof() ,我们要调用 sizeof() 函数,此时也是一次 遍历链表的过程,所以 遍历次数两遍,也不符合要求。 ??我们还要继续调整…
??这样的思路过程就没有问题了,整体代码遍历一遍。 相关代码
四、二进制中1的个数https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8? 思路一
-------------可能陷入死循环的解法---------------------
运行结果:
思路二
思路三
??好了,今天的内容就结束了,希望大家多多练习~~ 谢谢欣赏!!! 《剑指offer》 算法训练day4 敬请期待… 未完待续… |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:22:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |