【java刷算法】牛客—剑指offer3栈、数组、递归

public int pop() {
    if(stack2.size() <= 0){
        while(stack1.size() != 0){
            stack2.push(stack1.pop());
        }
    }
    return stack2.pop();
}

}


![在这里插入图片描述](https://img-blog.csdnimg.cn/6bff94d16b6f41dfb98fc601dbeaf982.png)


## JZ10 斐波那契数列


### 题目描述


![在这里插入图片描述](https://img-blog.csdnimg.cn/37690a054b5348c3a7fd7b46d62177f5.png)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/44ea0dd256a142a6a53328ce8a09c4da.png)


### 思路详解



> 
> 斐波那契数列很常见,那么本题也是入门级别的题,考察了递归的使用。  
>  **注意特殊情况的判断就可以了。**
> 
> 
> 


### 代码与结果



public class Solution {
public int Fibonacci(int n) {
if(n == 1 || n == 2) return 1;
else if(n > 2)
return Fibonacci(n - 1) + Fibonacci(n - 2);
return 0;
}
}


![在这里插入图片描述](https://img-blog.csdnimg.cn/7f133bc455e644df8faeb4736e83e842.png)


## JZ11 旋转数组的最小数字


### 题目描述


![在这里插入图片描述](https://img-blog.csdnimg.cn/df8cf76adb6d4dd8a99bb7e75bc3fb63.png)


### 思路详解



> 
> 本题的首先思想肯定是暴力破解,但是那样时间复杂度比较高。  
>  这里采用二分法进行查找,也是二分查找的简单应用,详解上代码哦。
> 
> 
> 


### 代码与结果



import java.util.*;
import java.util.ArrayList;
public class Solution {
public int minNumberInRotateArray(int [] array) {
// 特殊情况判断
if (array.length== 0) {
return 0;
}
// 左右指针i j
int i = 0, j = array.length - 1;
// 循环
while (i < j) {
// 找到数组的中点 m
int m = (i + j) / 2;
// m在左排序数组中,旋转点在 [m+1, j] 中
if (array[m] > array[j]) i = m + 1;
// m 在右排序数组中,旋转点在 [i, m]中
else if (array[m] < array[j]) j = m;
// 缩小范围继续判断
else j–;
}
// 返回旋转点
return array[i];
}
}


![在这里插入图片描述](https://img-blog.csdnimg.cn/0912259e247142bf855e7ba9f5c13707.png)




---


## ✨总结


今天主要练习了栈、数组、递归、二分法,这些都属于算法基本操作哦。一定要牢记,特别是二分法,在看到查找的时候第一时间要想到用哦。加油!!!



> 
>  
>  
>  
>  
>  
>  
>  原创不易,还希望各位大佬支持一下 
>  
>  
>  
>  
>  \textcolor{blue}{原创不易,还希望各位大佬支持一下} 
>  
>  
>  原创不易,还希望各位大佬支持一下   
>   
>   
>  
>  
>  
>  
>  
>  点赞,你的认可是我创作的动力! 
>  
>  
>  
>  
>  \textcolor{green}{点赞,你的认可是我创作的动力!} 
>  
>  
>  点赞,你的认可是我创作的动力!   
>   
>   
>  
>  
>  
>  
>  
>  收藏,你的青睐是我努力的方向! 
>  
>  
>  
>  
>  \textcolor{green}{收藏,你的青睐是我努力的方向!} 
>  
>  
>  收藏,你的青睐是我努力的方向!   
>   
>   
>  
>  
>  
>  
>  
>  评论,你的意见是我进步的财富! 
>  


![img](https://img-blog.csdnimg.cn/img_convert/08d55e7c31431ea372cc3d60e5bbbfa2.png)
![img](https://img-blog.csdnimg.cn/img_convert/8926e52fb8a0207026b0ed8a92ce960f.png)
![img](https://img-blog.csdnimg.cn/img_convert/1f9c581de003b035dc87668e6980ae29.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值