自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 剑指Offer面试题10:斐波那契数列

保存中间项,下次需要计算的时候直接查找该项就可以了,或者从下往上算,先算Fibo(0)、Fibo(1)...只有1级台阶,有一种跳法,只有2级台阶,有两种跳法,设n级台阶f(n),当n>2时,第一次跳有两种选择,第一次跳1级,此时跳法数目等于后面剩下n-1级台阶的跳法数目f(n-1),第一次跳2级,此时跳法数目等于后面剩下的n-2级台阶的跳法数目f(n-2),故f(n)=f(n-1)+f(n-2),依旧是斐波那契数列。

2024-03-21 16:44:57 152 1

原创 剑指Offer面试题9(补充):用两个队列实现栈

同理,若向栈内压入元素1,2,3,若要依次弹出元素应为3,2,1,将队列1队头元素逐个压入队列2,输出队列1的队尾元素,当第一个数输出完后,此时队列2再将队头元素逐个压入队列1,输出队列2的队尾元素,直到全部输出。

2024-03-21 14:38:19 105 1

原创 剑指Offer面试题9:用两个栈实现队列

1.当stack2不为空时,stack2栈顶元素就是最先进入队列的元素,弹出;2.当stack2为空时,把stack1中的元素逐个弹出压入stack2。

2024-03-21 13:25:26 185 1

原创 剑指Offer面试题8:二叉树的下一个节点

根据中序遍历左根右的特点,1.当一个节点有右子树:则它的下一个节点就是它的右子树中最左节点;2.当一个节点没有右子树:(1)节点是其父节点的左子节点,则下一个节点是该父节点;(2)节点是其父节点的右子节点,沿着指向父节点指针向上遍历,直到找到一个是它父节点的左子节点的节点,如果存在,这个节点的父节点就是下一个节点。由于最开始没有定义父节点,导致输出错误。

2024-03-20 15:37:30 155 1

原创 剑指Offer面试题7:重建二叉树

/构建函数传入四根指针:前序&中序遍历的开始和结束指针//定义根节点的值//创建二叉树结构体类型实例作为根节点//初始化else//遍历中序序列找出根节点的值//计算出左子树的长度,在前序遍历序列中分割出左子树和右子树的部分if(leftLen > 0) //构建左子树if(ePreorder - leftPreorderEnd > 0) //构建右子树。

2024-03-20 12:51:28 114 1

原创 剑指Offer面试题6:从尾到头打印链表

int m_nkey;int m_nkey;if(pHead!= nullptr)= nullptr)这道题主要是针对链表的简单操作,不是很难,两种方法:栈&递归。

2024-02-28 18:26:20 334 1

原创 剑指Offer面试题5:替换空格

遍历字符串,遇到空格替换成%20,在原字符串上操作的基础上,若从前往后复制和替换,由于string不存在负索引会覆盖原始字符串中未替换的部分,先遍历找出原始长度和空格数量,新长度等于原始长度加上空格数量*2,用两个指针指向新字符串的末尾str[新长度]、str[原始长度],从后往前遍历,没遇到空格就复制,遇到空格就替换,直到结束。时间复杂度为O(n)。

2024-02-27 18:26:29 574

原创 剑指Offer面试题4:二维数组中的查找

这道题比较简单,由于给出的数组排序特性,采取右上角或者左下角数字进行比较操作,若给定数大于右上角数字,则说明右上角数字所在一行都小于此给定的数,所以删除右上角数字所在行,若给定元素小于右上角数字,说明右上角数字所在列都大于此给定的数,删除右上角数字所在列,左下角同理。左上角和右下角则无法判断。

2024-02-26 14:16:13 520

原创 剑指Offer面试题3:数组中重复的数字

关键在于此数组一定存在重复的情况,数字个数(数组长度)8大于数字范围7,将范围二分1-4,5-7,遍历整个数组,若在某一范围区间内,如1-4,满足这个范围的数字1-4在整个数组中出现的次数大于此范围长度4,说明在此区间有重复数字出现,继续进行二分,直到start=end,输出该数字。由此考虑将数组排序,依次把数字i放置到数组下标也为i的位置处,使其在数组中对应且唯一,若出现另一个位置上的数字与以该数字为下标对应的数字相等时,则输出重复数字。时间复杂度为O(n),空间复杂度为O(1)。

2024-02-25 17:15:38 572 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除