剑指offer
驯鹿人
天道酬勤
展开
-
矩阵中的d路径--剑指Offer(C++)
矩阵中地路径–回溯法(矩阵、递归)一、回溯法回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。回溯算法实际上一个类似枚举的深度优先搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回(也就是递归返回),尝试别的路径。(详情介绍)二、问题描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的原创 2020-08-31 20:16:35 · 672 阅读 · 0 评论 -
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。--剑指offer(C++)
题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。在做这个问题之前,让我们看看简化版题目的做法。简化版题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。分析: 对于这样的问题,采用递归求解是最佳方法。通过分析很容易得到下表。台阶数n跳法0011223345……n?表1分析表1,我们原创 2020-05-18 21:23:29 · 1332 阅读 · 0 评论 -
用两个栈来实现一个队列,完成队列的push和pop操作。 队列中的元素为int类型。
**题目描述:**用两个栈来实现一个队列,完成队列的push和pop操作。 队列中的元素为int类型。**思路:**栈是后进先出,队列是后进后出。堆栈1中元素出栈,出栈的元素进入堆栈2,这样就使得堆栈 1和堆栈2中的元素的顺序恰好是相反的。(比如堆栈1中元素顺序为{5 4 3 2 1},那堆栈2中元素顺序必然为{1 2 3 4 5})利用这个性质就可以完成队列的push和pop操作。堆栈1堆栈2实际队列511422333244155原创 2020-05-17 22:36:47 · 216 阅读 · 0 评论