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面试题
47(java版):礼物的最大价值
welcometomyblog
剑指offer面试题
47(java版):礼物的最大价值题目描述在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0)。
littlehaes
·
2020-07-28 02:01
剑指offer
剑指offer
从上往下打印二叉树
剑指offer面试题
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。
Dannii_
·
2020-07-16 06:20
数据结构和算法
剑指Offer面试题
33:把数组排成最小的数 Java 实现,三种方法
题目:把数组排成最小的数输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323.算法分析:1.最直接的办法就是先求出这个数组中所有数字的全排列,然后把每个排列拼接起来,最后求出拼接起来的数字的最小值。求数组的排列和字符串排列非常相近。根据排列组合知识,n个数字总共有n!个排列。2.
安心写代码吧
·
2020-07-15 23:47
面试题
算法
源程序
剑指Offer面试题
33:把数组排成最小的数 Java 实现,三种方法
题目:把数组排成最小的数输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323.算法分析:1.最直接的办法就是先求出这个数组中所有数字的全排列,然后把每个排列拼接起来,最后求出拼接起来的数字的最小值。求数组的排列和字符串排列非常相近。根据排列组合知识,n个数字总共有n!个排列。2.
dev_zyx
·
2020-07-15 16:08
剑指Offer
判断一个二叉树是否是AVL树
点:二叉树题意:判断一个二叉树是否是AVL树,即二叉树任意一个节点的左右子树深度之差不得大于1
剑指offer面试题
39引申思路:和算二叉树的深度一样,依然按后序,然后依次求深度,同时传入一个bool变量入函数栈
FSak47
·
2020-07-15 00:48
二叉树
剑指offer面试题
[36]-数组中的逆序对
题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size#includeusingnamespacestd;classSolution{public:intInver
rs勿忘初心
·
2020-07-14 22:43
剑指offer
剑指offer面试题
13——在O(1)时间删除链表结点
题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。链表结点与函数的定义如下:代码:voidDeleteNode(ListNode**pListHead,ListNode*pToBeDeleted){if(!pListHead||!pToBeDeleted)return;ListNode*p=pToBeDeleted;if(p->next){p->val=p->next
一只荣
·
2020-07-14 18:50
leetcode和机试题
剑指Offer面试题
(第十三天)面试题18(1)、18(2)、19
*面试题18:删除链表的节点*题目一:在O(1)时间内删除链表节点*给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。链表节点与函数的定义如下:*structListNode{*intm_nValue;*ListNode*m_pNext;*};**voidDeleteNode(ListNode**pListHead,ListNode*pToBeDeleted);**思路:
DM X
·
2020-07-13 20:56
面试
剑指Offer面试题
(第五天)面试题7、8
*面试题7:重建二叉树*题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。*假设输入的前序遍历和中序遍历的结果中都不包含重复的数字。*例如:输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},*则重建二叉树并输出它的头节点*二叉树节点的定义:*structBinaryTreeNode{*intm_nValue;//value*Binary
DM X
·
2020-07-13 20:56
面试
剑指Offer面试题
30(java版):最小的k个数
题目:输入n个整数,找出其中最小的k个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4这道题最简单的思路莫过于把输入的n个整数排序,排序之后位于最前面的k个数就是最小的k个数。这种思路的时间复杂度是O(nlogn),面试官会提示我们还有更快的算法。解法一:O(n)的算法,只有当我们可以修改输入的数组时可用从上一题中我们可以得到启发,我们同样可以基于Partit
互联网极客
·
2020-07-13 06:50
剑指offer(Java版)
剑指offer——平衡二叉树(python代码,每个节点只遍历一遍)
剑指offer面试题
55:题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。
少年木
·
2020-07-12 18:57
算法题
剑指offer面试题
1:赋值运算符函数
赋值运算符函数题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数classCMyString{public:CMyString(char*pData=nullptr);CMyString(constCMyString&str);private:char*m_pData;}要点:定义赋值构造函数的要点:要将函数返回值类型声明为该类型的引用,并在函数结束前返回实例自身的引用(*th
陈乐乐happy
·
2020-07-12 10:12
剑指offer
74、数组---二维数组中数的查找1
LeetCode第74题,注意此题和
剑指offer面试题
3、数组----二维数组中数的查找2中的题条件是不一样的。
小碧小琳
·
2020-07-11 14:08
剑指offer面试题
43(java版):1~n整数中1出现的次数
welcometomyblog
剑指offer面试题
43(java版):1~n整数中1出现的次数题目描述输入一个整数n,求1~n这n个整数的十进制表示中1出现的次数。
littlehaes
·
2020-07-11 11:51
剑指offer
剑指offer
剑指Offer面试题
36(Java版):数组中的逆序对
题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数例如在数组{7,5,6,4}中,一共存在5对逆序对,分别是{7,6},{7,5},{7,4},{6,4},{5,4}。看到这个题目,我们的第一反应就是顺序扫描整个数组。每扫描到一个数组的时候,逐个比较该数字和它后面的数字的大小。如果后面的数字比它小,则这两个数字就组成一个逆
互联网极客
·
2020-07-11 09:11
剑指offer(Java版)
剑指offer面试题
java解答36-40
面试题36:数组中的逆序对publicclassTest36{privatestatic>intmerge(T[]a,T[]tmp,intleftPos,intrightPos,intrightEnd){intleftEnd=rightPos-1;inttmpPos=rightEnd;intnumEles=rightEnd-leftPos+1;intcount=0;while(leftPos>in
frasker
·
2020-07-11 06:27
数据结构和算法
java实现的编程问题
剑指Offer面试题
03-找出数组中重复的数字(5种方法)
题目:在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2,3,1,0,2,5,3]输出:2或3限制:2set=newHashSet<>();intans=0;for(intnum:nums){if(!set.add(num)){ans=num;break;}
JohnArchie
·
2020-07-10 10:17
刷题
C++版 - 剑指offer 面试题23:从上往下打印二叉树(二叉树的层次遍历BFS) 题解
剑指offer面试题
23:从上往下打印二叉树参与人数:4853时间限制:1秒空间限制:32768K提交网址:http://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701
weixin_33835103
·
2020-07-10 07:33
剑指Offer面试题
11:数值的整数次方 Java实现
题目:数值的整数次方实现函数doublePower(doublebase,intexponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。算法分析:我们都知道在C语言库函数中有一个pow函数可以用来求乘方,本题要求实现类似pow的功能。1、自以为很简单的解法:由于不需要考虑大数问题,这道题看起来很简单,可能不少应聘者在看到题目30秒后就能写出如下的代码:publ
安心写代码吧
·
2020-07-09 16:27
剑指Offer
剑指offer面试题
10- II. 青蛙跳台阶问题(动态规划)(递归)(斐波那契数列)
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。答案需要取模1e9+7(1000000007),如计算初始结果为:1000000008,请返回1。思路详见链接代码classSolution:defnumWays(self,n:int)->int:a,b=1,1for_inrange(n):a,b=b,a+breturna%1000000007复
程旭员
·
2020-07-08 18:34
剑指offer
由前序遍历和中序遍历创建二叉树
如前序序列:16,7,6,3,14,12,8,15,28,23,27,41,30,29,55和中序序列:3,6,7,8,12,14,15,16,23,27,28,29,30,41,55
剑指offer面试题
FSak47
·
2020-07-08 08:51
剑指offer 面试题61. 扑克牌中的顺子 JAVA 超详细题解
剑指offer面试题
61.扑克牌中的顺子1.先将数组排序2.遍历数组,因为排序后0在最前面,所以先统计0的个数.3.当前元素非0时,查看当前元素后面的元素与当前元素的差值intdifferenceValue
QK_97
·
2020-07-08 02:06
算法题解
LeetCode题解
剑指offer题解
剑指Offer(第二版)面试题21:调整数组顺序使奇数位于偶数前面
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/72594212冷血之心的博客)
剑指Offer面试题
21:调整数组顺序使奇数位于偶数前面题目一
温柔狠角色
·
2020-07-07 20:22
笔试题
剑指Offer
面试题
【剑指offer】1-10题:C++和Java版
剑指offer面试题
1:赋值运算符函数题目:如下为类型CMyString的声明,请为该类型添加赋值符函数。
niwoxiangyu
·
2020-07-07 18:02
《剑指offer》
剑指offer 面试题45 圆圈中最后剩下的数字
剑指offer面试题
45圆圈中最后剩下的数字题目:0,1,2,…,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
LYZ0907
·
2020-07-07 14:32
剑指offer
剑指offer
剑指offer 面试题29 数组中出现次数超过一半的数字
剑指offer面试题
29数组中出现次数超过一半的数字题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。
LYZ0907
·
2020-07-07 14:31
剑指offer
剑指offer
剑指offer面试题
10(java版):斐波那契数列
welcometomyblog
剑指offer面试题
10(java版):斐波那契数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
littlehaes
·
2020-07-07 13:32
剑指offer
剑指offer
剑指Offer面试题
29(java版):数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现5次,超过数组长度的一半,因此输出2.解法一:基于Partition函数的O(n)算法:我们的算法是受快速排序的算法的启发。在随机快速排序的算法中,我们先在数组中随机的选择一个数字,然后调数组中数字的顺序,使得比选中的数字小数字排在它的左边,比
互联网极客
·
2020-07-07 12:35
剑指offer(Java版)
剑指Offer面试题
21(Java版):包含min函数的栈
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min,push及pop的时间复杂度都是O(1).看到这个问题,我们的第一反应可能是每次压入一个新元素进栈时,将栈里的所有元素排序,让最小的元素位于栈顶,这样就能在O(1)时间得到最小元素了。但这种思路不能保证最后压入的元素能够最先出栈,因此这个数据结构已经不是栈了。我们接着想到在栈里添加一个成员变量存放最
互联网极客
·
2020-07-07 12:35
剑指offer(Java版)
剑指Offer面试题
45(Java版):圆圈中最后剩下的数字
题目:0,1,,,,,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈中删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0,1,2,3,4这5个数字组成的一个圆圈,从数字0开始每次删除第3个数字,则删除的前四个数字依次是2,0,4,1因此最后剩下的数字是3.本题就是著名的约瑟夫环的问题。我们介绍两种方法:一种方法是用环形链表模拟圆圈的经典解法,第二种方法是分析每次被删除的数字的规律
互联网极客
·
2020-07-07 12:35
剑指offer(Java版)
剑指offer面试题
22:链表中倒数第K个节点(java实现)
题目:输入一个链表,输出该链表中倒数第K个节点,为了符合大多数人第习惯。本题从1开始计数,即链表的尾节点是倒数第1个节点。例如:一个链表有六个节点,从头节点开始,它们第值分别是1,2,3,4,5,6.这个链表第倒是第三个节点是4.链表第定义如下;/*publicclassListNode{intval;ListNodenext=null;ListNode(intval){this.val=val;
Csz❤️Fsj
·
2020-07-05 08:10
剑指offer
剑指offer 面试题16 反转链表-Java实现
剑指offer面试题
16反转链表-Java实现题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。
LYZ0907
·
2020-07-04 22:54
剑指offer
剑指offer
剑指offer面试题
09-4----矩形覆盖
题目:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:覆盖一个2*n,(n>=3)的大矩形的方法数等于1)使用一个2*1的小矩形竖放在最左边,剩下的部分相当于覆盖一个2*(n-1)的大矩形的方法2)使用两个2*1的小矩形横放在最左边,剩下的部分相当于覆盖一个2*(n-2)的大矩形的方法即f(x)=f(x-1)+f
minningl
·
2020-07-04 16:03
剑指Offer面试题
24:反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。解题思路:题目不难,重要的是代码的完整性与鲁棒性,建立三个指针来维护信息,pre、cur、next指针。链表类题重要的是要回利用指针保存记录信息。然后依次更新指针的指向,从而实现我们的算法。解题代码:/*structListNode{intval;structListNode*next;ListNode(intx):val(x),next(NUL
freeygh
·
2020-07-04 16:40
菜鸟通关剑指Offer
剑指Offer面试题
16(Java版):反转链表
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。解决与链表相关的问题总是有大量的指针操作,而指针操作的代码总是容易出错的。很多的面试官喜欢出链表相关的问题,就是想通过指针操作来考察应聘者的编码功底。为了避免出错,我们最好先进行全面的分析。在实际软件开发周期中,设计的时间通常不会比编码的时间短。在面试的时候我们不要急于动手写代码,而是一开始仔细分析和涉及,这将会给面试官
互联网极客
·
2020-07-04 00:45
剑指offer(Java版)
剑指offer面试题
10:二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1,因此如果输入9,该函数输出2。常规的解题思路:可以把n和1做与运算,如果结果为1,那么n的最后一位为1,否则为0,然后n右移1位,再和1做与运算,直到判断完n的所有位。intstatisticsNums(intn){intsum=0;while(n){if(n&1){sum++;}n=n>>
RecordLiu
·
2020-07-02 15:44
数据结构和算法学习笔记
剑指offer题目汇总(一)
剑指offer面试题
1-10作者代码下载地址https://github.com/zhedahht/CodingInterviewChinese2面试题1:赋值运算符函数题目:如下为类型CMyString
noaname
·
2020-07-02 14:16
剑指offer题目汇总
剑指offer 面试题3
/***********************************
剑指offer面试题
3:找出数组中重复的数字**语言:C++**WrittedbyXRJon2017/10/24*********
MISAYAONE
·
2020-07-02 12:52
【想写就写@@】
剑指Offer面试题
43n个骰子的点数(动态规划),面试题44扑克牌的顺子
面试题43:n个骰子的点数(动态规划)扔n个骰子,所有骰子朝上一面的点数之和为s,输入n,打印出s的所有可能的值出现的概率。思路:n个骰子和最小为你,最大为6n,根据排列组合,n个骰子的所有点数的排列为6^n,我们需要先统计出每一种点数和的出现次数,然后除以6^n即为概率。动态规划分析如下:当有n个骰子,点数和为s,则每一种点数和出现的次数记为f(n,s)。现在假设我有n-1个骰子,再增加一个骰子
login_sonata
·
2020-07-02 09:24
《剑指Offer》Java版
《剑指Offer》Java版
剑指offer面试题
65(java版):不用加减乘除做加法
welcometomyblog
剑指offer面试题
65(java版):不用加减乘除做加法题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
littlehaes
·
2020-07-02 08:04
剑指offer
剑指offer
剑指offer面试题
62(java版):圆圈中最后剩下的数字
welcometomyblog
剑指offer面试题
62(java版):圆圈中最后剩下的数字题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。
littlehaes
·
2020-07-02 08:04
剑指offer
剑指offer
剑指offer面试题
13(java版):机器人的运动范围
welcometomyblog
剑指offer面试题
13(java版):机器人的运动范围题目描述地上有一个m行和n列的方格。
littlehaes
·
2020-07-02 08:04
剑指offer
剑指offer
剑指offer面试题
19(java版):正则表达式匹配
welcometomyblog
剑指offer面试题
19(java版):正则表达式匹配题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.
littlehaes
·
2020-07-02 08:04
剑指offer
剑指offer
剑指offer面试题
48(java版):最长不含重复字符的子字符串
welcometomyblog
剑指offer面试题
48(java版):最长不含重复字符的子字符串题目描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
littlehaes
·
2020-07-02 08:32
剑指offer
剑指offer
剑指Offer面试题
47(Java版):不用加减乘除做加法
题目:写一个函数,求两个整数之和,要求在函数体内不得适用+,-,*,./四则运算符号面试的时候被问道这个问题,首先我们分析人们是如何进行十进制的加法的,比如是如何得出5+17=22的结果的,实际上,我们可以分三步进行:第一步只做各位相加不进位,此时相加的结果是12,第二步做进位,5+7中有进位,进位的值为10;第三步,把前面的两个结果加起来12+10的结果是22,刚好5+17=22我们一直在想,求
互联网极客
·
2020-07-02 06:22
剑指offer(Java版)
剑指Offer面试题
15(Java版):链表中倒数第K个结点
题目:输入一个链表,输出该链表中倒数第k哥结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1,2,3,4,5,6.这个链表的倒数第3个结点是值为4的结点为了得到第K个结点,很自然的想法是先走到链表的尾端,再从尾端回溯K步。可是我们从链表结点的定义可疑看出本题中的链表是单向链表,单向链表的结点只有从前往后的指针而没有从
互联网极客
·
2020-07-02 06:22
剑指offer(Java版)
剑指Offer面试题
32(java版):从1到n整数中1出现的次数
题目:输入一个整数n,求从1到n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11,和12,1一共出现了5次。方法一:不考虑时间效率的解法,靠它拿到Offer有点难:如果在面试的时候碰到这个问题,应聘者大多能想到最直观的方法,也就是累加1到n中每个整数1出现的次数。我们可疑每次通过对10求余数判断整数的个位数字是不是1.如果这个数字大于10,除以10之
互联网极客
·
2020-07-02 06:22
剑指offer(Java版)
剑指Offer面试题
22(Java版):栈的压入、弹出序列
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压栈序列,序列,4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。解决这个问题很直观的想法就是建立一个辅助栈,把输入的第一个序列中的数字依次压入该辅助栈,并按照第二个序列的顺序依次从该栈中弹出数
互联网极客
·
2020-07-02 06:22
剑指offer(Java版)
剑指offer面试题
4拓展——已排序数组的合并
题目:有两个排序的数组A1和A2,内存在A1的末尾有足够的空间来容纳数组A2,请实现一种函数,把A2的所有数字插入到A1中并且所有的数字是排序的//思路:设置两个索引indexofA1,indexofA2分别指向数组A1和A2的最后一个元素,即两个数组的尾部;//比较两个索引指向的元素的大小:若indexofA1指向的元素(即A1[indexofA1])大于indexofA2指向的元素(即A2[i
iteye_563
·
2020-07-02 04:51
剑指offer面试题
15:二进制中1的个数
目录题目描述思路一:思路二:思路三:bisethttps://zh.cppreference.com/w/cpp/utility/bitset相关题目:1.用一条语句判断一个整数是不是2的整数次方。2.输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n。题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。考点:原码、补码、反码、位运算思路一:flag左移,避免n
tednlvn
·
2020-07-02 03:51
剑指offer
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他