E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
剑指Offer面试题
剑指Offer面试题
:10- I 斐波那契数列
算法不是金庸武侠小说里硬核的”九阳真经“,也不是轻量的”凌波微步“,它是程序员的基本功,如同练武之人需要扎马步一般。功夫好不好,看看马步扎不扎实;编程能力强不强,看看算法能力有没有。本系列采用leetcode题号,使用JavaScript为编程语言,每篇文章都会逐步分析解题思路,最终给出代码。文章一方面是记录笔者在刷题中的思路,已备学而时习之,另一方面也希望能跟大牛们多交流。有更高效的解法,或者文
一只前端小马甲
·
2021-06-20 17:46
算法与数据结构
#
剑指Offer
数据结构
leetcode
javascript
递归
斐波那契数列
剑指Offer面试题
8 二叉树的下一个节点
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。/*structTreeLinkNode{intval;structTreeLinkNode*left;structTreeLinkNode*right;structTreeLinkNode*next;TreeLinkNode(intx):val(x),le
Yue_Q
·
2021-06-20 04:50
剑指Offer面试题
:09 用两个栈实现队列
算法不是金庸武侠小说里硬核的”九阳真经“,也不是轻量的”凌波微步“,它是程序员的基本功,如同练武之人需要扎马步一般。功夫好不好,看看马步扎不扎实;编程能力强不强,看看算法能力有没有。本系列采用leetcode题号,使用JavaScript为编程语言,每篇文章都会逐步分析解题思路,最终给出代码。文章一方面是记录笔者在刷题中的思路,已备学而时习之,另一方面也希望能跟大牛们多交流。有更高效的解法,或者文
一只前端小马甲
·
2021-06-18 23:50
算法与数据结构
#
剑指Offer
数据结构
leetcode
面试
队列
栈
剑指Offer面试题
:07 重建二叉树
算法不是金庸武侠小说里硬核的”九阳真经“,也不是轻量的”凌波微步“,它是程序员的基本功,如同练武之人需要扎马步一般。功夫好不好,看看马步扎不扎实;编程能力强不强,看看算法能力有没有。本系列采用leetcode题号,使用JavaScript为编程语言,每篇文章都会逐步分析解题思路,最终给出代码。文章一方面是记录笔者在刷题中的思路,已备学而时习之,另一方面也希望能跟大牛们多交流。有更高效的解法,或者文
一只前端小马甲
·
2021-06-15 09:22
算法与数据结构
#
剑指Offer
二叉树
算法
数据结构
剑指Offer
面试
剑指offer面试题
2:实现Singleton模式
实现单例模式应该是面试中比较常见的问题,下面简单讲讲几种单例模式的实现方式。饿汉式publicclassSingleton{publicstaticSingletoninstance=newSingleton();privateSingleton();publicstaticSingletongetInstance(){returninstance;}}优点:避免线程同步产生的问题,没有加锁,效率
薛定谔的猫病
·
2021-06-14 15:29
剑指offer面试题
12----数值的整数次方
题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。思路:对于数值的整数次方,一种简单的思路就是设置一个result=1,将其乘以exponent次的base,这种思路简单,但是复杂度较高,需要迭代exponent次运算。因此我们采用一种简便的运算方法:当n为偶数时f(n)=f(n/2)^2当n为奇数时f(n)=f(n/2)^2*ba
minningl
·
2021-05-09 07:27
剑指offer面试题
10----二进制中1的个数
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位变成0,它后面的两位0变成了1,而前
minningl
·
2021-05-01 00:41
剑指offer面试题
07----用两个栈实现队列
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。代码如下:#-*-coding:utf-8-*-classSolution:def__init__(self):self.stack1=[]self.stack2=[]defpush(self,node):self.stack1.append(node)defpop(self):ifnotself.stack1
minningl
·
2021-04-28 07:32
2020大数据开发实习面经(阿里 360 腾讯 字节)
写一道算法题,旋转数组求最小值(
剑指offer面试题
11)。当时只记得是二分查找,没写出来。问下JavaGC(不会)问下PythonGIL(不会)非常感谢这位老师,面试之后就
AntiTopQuark
·
2021-01-21 21:48
面经
大数据
算法
面试
hadoop
spark
Java详解
剑指offer面试题
68--树中两个结点的最低公共祖先
Java详解
剑指offer面试题
68–树中两个结点的最低公共祖先输入一棵树的两个结点,返回它们的最低公共祖先。这道题说得很含糊,仅仅告诉了*一棵树,*那这棵树是二叉树吗?再具体点,它是二叉查找树吗?
快乐李同学(李俊德-大连理工大学)
·
2020-09-28 17:22
Java剑指Offer
Java详解
剑指offer面试题
67--把字符串转换成整数
Java详解
剑指offer面试题
67–字符串转整数将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
快乐李同学(李俊德-大连理工大学)
·
2020-09-28 13:29
Java剑指Offer
Java详解
剑指offer面试题
66--构建乘积数组
Java详解
剑指offer面试题
66–构建乘积数组给定一个数组A[0,1,…n-1],请构建一个数组A[0,1,…n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n
快乐李同学(李俊德-大连理工大学)
·
2020-09-28 08:40
笔记
剑指offer(第2版)刷题 Python版汇总
剑指offer面试题
内容第2章面试需要的基础知识面试题1:赋值运算符函数面试题2:实现Singleton模式解答面试题3:数组中重复的数字解答面试题4:二维数组中的查找解答面试题5:替换空格解答面试题6
weixin_30758821
·
2020-09-17 03:34
数据结构-复杂链表的复杂
/*
剑指offer面试题
2
weixin_30872499
·
2020-09-15 15:56
数据结构与算法
面试
剑指Offer面试题
09:用两个栈实现队列
面试题09:用两个栈实现队列题目思路一(栈是线性表的顺序存储)思路二(栈是线性表的链式存储)题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回-1)示例1:输入:[“CQueue”,“appendTail”,“deleteHead”,“dele
凤梨No.1
·
2020-09-15 06:27
栈
leedcode刷题
java
栈
剑指offer面试题
5:替换空格
#includeusingnamespacestd;voidReplaceBlank(charstring[],intlength){if(string==nullptr||lengthlength)return;intindexOfOriginal=originalLength;intindexOfNew=newLength;while(indexOfOriginal>=0&&indexOfNe
Ther Meng
·
2020-09-15 06:36
字符串
golang
剑指Offer面试题
06:从尾到头打印链表(四种方法)
题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例1:输入:head=[1,3,2]输出:[2,3,1]限制:0stack=newStack();ListNodeh=head;while(h!=null){stack.push(h.val);h=h.next;}intsize=stack.size();//返回值需要数组,这里初始化int[]ans=newint[siz
JohnArchie
·
2020-09-15 06:35
刷题
剑指Offer面试题
05:替换空格(三种方法。。吧)
题目:请实现一个函数,把字符串s中的每个空格替换成"%20"。示例1:输入:s=“Wearehappy.”输出:“We%20are%20happy.”限制:0<=s的长度<=10000一.StringBuilder之前关于字符串的操作已经复习过很多次,在处理字符串的时候尽量要用StringBuilder或者StringBuffer来操作,他们两个是可变字符串,其中StringBuilder线程不安
JohnArchie
·
2020-09-15 06:35
刷题
剑指offer面试题
6 重建二叉树(java实现)
解题思路:已知二叉树的前序序列和中序序列,那么前序序列的第一个元素,就是根节点,此时在中序序列中遍历根节点对应的值,记下该值的索引,此时该索引左边元素属于左子树,可以确定左子树的长度以及左子树的前序、中序范围,索引的右边元素属于右子树,可以确定右子树的长度以及右子树的前序、中序范围。接下来可以用递归地方式不断地在左子树、右子树中进行上述操作。递归的终止条件是当前序和中序范围重叠,并且指向元素也相同
Logan24
·
2020-09-15 05:41
剑指offer面试题
剑指Offer面试题
5:从尾到头打印链表---java实现
面试题5:从尾到头打印链表输入一个链表的头结点,从尾到头反过来打印出每个结点的值。题目分析:一个链表,给定头结点,从尾到头打印,符合先进后出的原则,也就是说,用栈的操作来实现。链表的具体实现留个传送门链表实现,这里用API实现的了(当然这好像不是重点)栈的具体实现留个传送门栈的实现,当然下面也有一种实现。代码实现:packagecom.no5;importjava.util.LinkedList;
yushen0
·
2020-09-15 05:09
剑指offer
剑指offer面试题
9:用两个栈实现队列(Java 实现)
题目:用两个栈实现一个队列,队列的声明如下,请实现它的两个类appendTail(Integerdata)和deleteHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。话不多说,直接撸上代码:importjava.util.Stack;publicclassSolution{Stackstack1=newStack();Stackstack2=newStack();publicvo
Csz❤️Fsj
·
2020-09-15 05:10
剑指offer
剑指offer面试题
9:用两个栈实现队列(Java版)
题目用两个栈实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。Stackstack1=newStack();Stackstack2=newStack();思路push操作每插入一个元素时,都将该元素直接压入stack1pop操作首先判断stack2是否为空如果stack2不为空的话,对stack2进行出栈操作如果stack2为空,则对stack1进行出栈操作直到栈空,并将出栈
sword man
·
2020-09-15 05:17
数据结构和算法
剑指Offer面试题
43(Java版):n个骰子的点数
剑指Offer面试题
43(Java版):n个骰子的点数题目:把n个骰子仍在地上,所有骰子朝上一面的点数之和为s,输入n,打印出s的所有可能的值出现的概率。
yesIcando-bupt
·
2020-09-15 05:10
剑指offer
剑指offer面试题
5:替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy。classSolution{public:voidreplaceSpace(char*str,intlength){if(str==nullptr||lengthlength)return;intcopylength=OriginalLe
虚心学习进步
·
2020-09-15 05:38
算法篇
剑指offer
剑指offer面试题
目:两个链表的第一个公共节点
题目输入两个链表,找出它们的第一个公共结点。分析这个问题一种常想到的方法就是两层循环遍历,外层循环遍历链表A,对A中每个节点,遍历链表B,如果在B中找到,说明这个节点是第一个公共节点,但是这样的方法时间复杂为mn,一般是不允采用的。所以我们需要分析更深层次的问题,找到其中的规律,我们如果动手画一下一般的链表图就能够发现两个链表的第一个公共节点之后的样子一定是如下表示(由此可以发现有时候动手是很重要
tjk922215
·
2020-09-15 05:15
算法
剑指offer 面试题43 n个骰子的点数 - null
剑指offer面试题
43n个骰子的点数-null题目:把n个骰子仍在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的次数。
LYZ0907
·
2020-09-15 05:43
剑指offer
剑指offer
剑指Offer面试题
37(Java版):两个链表的第一个公共结点
题目:输入两个链表,找出它们的第一个公共结点。面试的时候碰到这道题,很多应聘者的第一反应就是蛮力法:在第一链表上顺序遍历每个结点,没遍历到一个结点的时候,在第二个链表上顺序遍历每个结点。如果在第二个链表上有一个结点和第一个链表上的结点一样,说明两个链表在这个结点上重合,于是就找到了他们的公共结点。如果第一个链表的长度为m,第二个链表的长度为n,显然该方法的时间复杂度为O(mn).通常蛮力法不会是最
互联网极客
·
2020-09-15 05:46
剑指offer(Java版)
剑指Offer面试题
43(Java版):n个骰子的点数
题目:把n个骰子仍在地上,所有骰子朝上一面的点数之和为s,输入n,打印出s的所有可能的值出现的概率。解法一:基于递归求骰子的点数,时间效率不够高现在我们考虑如何统计每一个点数出现的次数。要向求出n个骰子的点数和,可以先把n个骰子分为两堆:第一堆只有一个,另一个有n-1个。单独的那一个有可能出现从1到6的点数。我们需要计算从1到6的每一种点数和剩下的n-1个骰子来计算点数和。接下来把剩下的n-1个骰
互联网极客
·
2020-09-15 05:14
剑指offer(Java版)
剑指Offer面试题
43:n个色子的点数
以下算法和程序转自该博客:http://blog.csdn.net/derrantcm/article/details/46784575题目:n个色子的点数把n个色子仍在地上,所有色子朝上一面的点数之和为s,输入n,打印出s的所有可能值出现的概率算法分析:算法1.基于递归求色子点数,时间效率不高现在我们考虑如何统计每一个点数出现的次数。要向求出n个骰子的点数和,可以先把n个骰子分为两堆:第一堆只有
安心写代码吧
·
2020-09-15 04:18
算法
面试题
剑指Offer
java
剑指offer
算法
面试题
剑指Offer 面试题12. 矩阵中的路径
剑指Offer面试题
12.矩阵中的路径解题思路:利用DFS加回溯的思路,寻找所有可能的路径。
晴晴.
·
2020-09-15 04:28
leetcode随笔
算法
数据结构
leetcode
n个骰子的点数(Java实现)
本题为
剑指offer面试题
43没有找到牛客网的测试例题题目:把n个骰子仍在地上,所有骰子朝上一面的点数之和为s,输入n,打印出s的所有可能的值出现的概率。
JacobGo
·
2020-09-15 04:31
剑指offer(Java实现)
剑指offer面试题
10-II:青蛙跳台阶问题
classSolution{public:intnumWays(intn){if(n==0||n==1)return1;if(n==2)return2;inta=1,b=2;for(inti=3;i<=n;i++){inttmp=b;b=(a+b)%1000000007;a=tmp;}returnb;}};
Everglow—
·
2020-09-15 04:18
剑指offer
面试
算法
剑指offer面试题
09:用两个栈实现队列
准备两个栈,一个push栈,一个pop栈。appendTail操作始终是向push栈中push元素,deleteHead操作始终是从pop栈pop元素,要求pop栈是从push倒过来,pop只要有元素,push就不倒。classCQueue{private:stackSpush,Spop;public:CQueue(){}voidappendTail(intvalue){Spush.push(va
Everglow—
·
2020-09-15 04:47
剑指offer
栈
stack
数据结构
剑指offer面试题
06:从尾到头打印链表
题目中涉及逆序首先想到的是栈结构,本题可以额外使用一个栈保存结果再弹出到数组,但是使用数组保存再进行reverse操作会降低空间复杂度classSolution{public:vectorreversePrint(ListNode*head){vectorres;ListNode*cur=head;while(cur){res.push_back(cur->val);cur=cur->next;}
Everglow—
·
2020-09-15 04:47
剑指offer
链表
面试
leetcode
algorithm
剑指offer面试题
05:替换空格
不重新开辟新字符串,直接在原字符串进行修改的方法classSolution{public:stringreplaceSpace(strings){if(s.empty())returns;intcount=0;for(inti=0;i
Everglow—
·
2020-09-15 04:47
剑指offer
字符串
面试
剑指offer 面试题60(java版):n个骰子的点数
welcometomyblog
剑指offer面试题
60(java版):n个骰子的点数题目描述把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。
littlehaes
·
2020-09-15 04:23
java
算法
面试
数据结构
字符流中第一个不重复的字符(Java实现)
本题为
剑指offer面试题
55牛客网测试地址:https://www.nowcoder.com/questionTerminal/00de97733b8e4f97a3fb5c680ee10720[编程题
JacobGo
·
2020-09-14 17:27
剑指offer(Java实现)
剑指offer面试题
13:机器人的运动范围(Java版 已在牛客网AC)
题目地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7=18。但是,它不能进入方格(35,38),因为3+5+3+8=19。请问该机器人能够达到多少个格子?思路很容易看出来该题采用回溯法来解决机器人从坐标(0,0)出发
sword man
·
2020-09-14 15:40
数据结构和算法
剑指offer面试题13
回溯法应用实例
机器人的运动范围
java
剑指offer面试题
牛客_字符串_字符流中第一个不重复的字符(java版)
welcometomyblog
剑指offer面试题
牛客_字符串_字符流中第一个不重复的字符(java版):题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。
littlehaes
·
2020-09-14 14:58
剑指offer
剑指offer
剑指Offer面试题
41(Java版):和为s的两个数字VS和为s的连续正数序列
题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多个数字的和等于s,输出任意一对即可。例如输入数组{1,2,4,7,11,15}和数字15.由于4+11=15,因此输出4和11.在面试的时候,很重要的一点是应聘者要表现出很快的反应能力。只要想到一个办法,应聘者就可以立马告诉面试官,即使这个办法不一定是最好的。比如这个问题,很多人会立即能想到O(n2)的方
互联网极客
·
2020-09-14 14:12
剑指offer(Java版)
剑指Offer面试题
41:求和为s的两个数字;求和为s的连续正数序列 Java实现
题目一:输入一个递增排序的数组和一个数字s,在数组中找两个数,使得他们的和刚好是s.如果有多对数字的和等于s,则输出任意一对即可。例如,输入数组{1,2,4,7,11,15}和数字15,则输出4和11(4+11=15)。算法分析:首先,我们会想到在数组中固定一个数字,再一次判断数组中其余n-1个数字与它的和是不是等于S。不过这个方法的时间复杂度为O(n^2),会不会有更快的方法?接着我们提出时间更
安心写代码吧
·
2020-09-14 14:12
面试题
算法
剑指Offer
剑指offer面试题
55 字符流中第一个不重复的字符(Java实现)
解题思路:利用一个哈希表来存放字符出现的次数,键为char,值为字符出现的次数,同时利用一个集合ArrayList来存放每个出现的字符,用于在后续遍历时取到每一个字符importjava.util.ArrayList;importjava.util.LinkedHashMap;publicclassSolution{//创建一个哈希表,用于存放字符流中每个字符出现的次数LinkedHashMapl
Logan24
·
2020-09-14 12:37
剑指offer面试题
Java详解
剑指offer面试题
32--从上到下打印二叉树
Java详解
剑指offer面试题
32–从上到下打印二叉树不分行,从上往下打印出二叉树的每个节点,同层节点从左至右打印。即层序遍历不分行,层序遍历二叉树的层序遍历其实就是广度优先搜索的简单版。
快乐李同学(李俊德-大连理工大学)
·
2020-09-14 12:48
笔记
Java详解
剑指offer面试题
31--栈的压入、弹出序列
Java详解
剑指offer面试题
31–栈的压入、弹出序列输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。
快乐李同学(李俊德-大连理工大学)
·
2020-09-14 12:48
笔记
剑指Offer面试题
24、leetcode206【反转链表】: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
https://www.bilibili.com/video/BV1z7411M73N?from=search&seid=9828711318650174791文科生学算法:递归求解反转链表
qq_40911292
·
2020-09-14 07:51
面试
算法
链表
面试
leetcode
Java详解
剑指offer面试题
27--对称的二叉树
Java详解
剑指offer面试题
27–对称的二叉树请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
快乐李同学(李俊德-大连理工大学)
·
2020-09-14 05:57
Java剑指Offer
Java详解
剑指offer面试题
29--顺时针打印矩阵
Java详解
剑指offer面试题
29–顺时针打印矩阵输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:12345678910111213141516则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10
快乐李同学(李俊德-大连理工大学)
·
2020-09-14 05:57
Java剑指Offer
Java详解
剑指offer面试题
28--二叉树的镜像
Java详解
剑指offer面试题
28–二叉树的镜像操作给定的二叉树,将其变换为原二叉树的镜像。
快乐李同学(李俊德-大连理工大学)
·
2020-09-14 05:57
笔记
Java详解
剑指offer面试题
26--树的子结构
Java详解
剑指offer面试题
26–树的子结构输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)二叉树这种递归的数据结构。想到用递归的方法解决是很自然的。
快乐李同学(李俊德-大连理工大学)
·
2020-09-14 05:57
笔记
Java详解
剑指offer面试题
30--包含min方法的栈
Java详解
剑指offer面试题
30–包含min方法的栈定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
快乐李同学(李俊德-大连理工大学)
·
2020-09-14 05:57
笔记
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他