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-算法之道
LintCode-剑指
Offer-
(70)二叉树的层次遍历Ⅱ
classSolution{/***@paramroot:Therootofbinarytree.*@return:Levelorderalistoflistsofinteger*/public:voidlev(TreeNode*node,intlevelnum,vector
风顺水流
·
2020-09-12 14:01
LintCode
把二元查找树转变成排序的双向链表(JULY微软面试100题系列第一题)的算法思考
原题及原解答请见JULY的博客“结构之法
算法之道
”的微软面试100题2010年版全部答案集锦(含下载地址)。最初看到这一题,觉得思路很乱,然后开始反思。
刘禄斌
·
2020-09-12 09:42
算法题解析
支持向量机通俗导论(理解SVM的三层境界)
出处:结构之法
算法之道
blog。
agilezing
·
2020-09-11 21:02
剑指
offer-
平衡二叉树
题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。解题思路:中序遍历得到左右子树的深度,判断左右子树的深度差是否大于1,若小于1则为平衡树,否则不是;这种方法会使得每个节点递归遍历多次,消耗大。后序遍历每个节点只会遍历到一次,先判断左右子树是否为平衡树,再得到树的深度。中序遍历:publicclassSolution{publicbooleanIsBalanced_Solution(TreeNo
Lee_jiaqi
·
2020-09-11 06:20
剑指offer
剑指
offer-
数组中的重复数字
文章目录题目描述示例解析题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。示例输入:{2,3,1,0,2,5,3}输出:2或3解析从头到尾依次扫描这个数组中的每个数字,当扫描到下标为i的数字时,首先比较这个数字(用m表示)是不是等于i。如果是,则接着扫描下一个数字;如果不是,
LovelyBear2019
·
2020-09-11 02:26
数据结构与算法
53.剑指
Offer-
两个链表的第一个公共结点(逻辑比较简单,不过有面试考过这道题)
题目描述输入两个链表,找出它们的第一个公共结点。解题思路设A的长度为a+c,B的长度为b+c,其中c为尾部公共部分长度,可知a+c+b=b+c+a。当访问链表A的指针访问到链表尾部时,令它从链表B的头部重新开始访问链表B;同样地,当访问链表B的指针访问到链表尾部时,令它从链表A的头部重新开始访问链表A。这样就能控制访问A和B两个链表的指针能同时访问到交点。publicListNodeFindFir
璀璨下的一点星辰
·
2020-09-11 01:08
剑指Offer
剑指
offer-
判断五张扑克牌是不是一个顺子
/*******************************************************************Copyright(c)2016,TyroneLiAllrightsreserved.*******************************************************************///作者:TyroneLi///*Q1:扑
OliverkingLi
·
2020-09-11 00:25
刷题
堆排序及其一个应用
因为在github中看到了一个july的repository的
算法之道
系列文章(https://github.com/julycoding/The-Art-Of-Programming-By-July)
dominent7
·
2020-09-10 21:54
剑指
offer-
位运算
在对unsigned类型的无符号值进行右移位时,左边空出的部分用0补齐,而对于带符号值移位左边用符号位补齐。问题1.实现函数getbits(unsignedx,intp,intn),返回x中从右边数第p位开始向右数n位的字段。例如get(x,4,3),返回x中第4,3,2位的值.unsignedgetbits(unsignedx,intp,intn){//x=10111;p=4,n=3时,返回01
血江南
·
2020-09-10 17:46
算法总结
剑指
offer-
动态规划算法
问题1、连续子数组的最大和//给定数组{1,-2,3,10,-4,7,2,-5},则连续子数组的的最大和范围为{3,10,-4,7,2}//解法一、直接写intFindGreatestSumOfSubArray(inta[],intn){intsum=0;inttemp=0;for(inti=0;i=0)returnmemory_p[len];//查询是否已经求出对应的部分最优解intsum=IN
血江南
·
2020-09-10 17:14
算法总结
剑指
offer-
正则表达式匹配(python详细解读)
题目描述:请实现一个函数用来匹配包括’.‘和’*‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’*'表示它前面的字符可以出现任意次(包含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配。思考:在看到字符串比较的时候,我们分析的时候肯定是一个一个字符的去比较是否符合条件,因此,对于
peppermint_xiao
·
2020-08-28 10:53
刷题
剑指
offer-
数组中出现次数超过一半的数字
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。方法1:基于partition函数的算法publicclassTest{publicstaticvoidmain(String[]args){int[]a={1,1,1,3,4};S
叛逆的鲁鲁修love CC
·
2020-08-26 14:54
程序员编程艺术第二十六章:基于给定的文档生成倒排索引(含源码下载)
出处:结构之法
算法之道
引言本周实现倒排索引。
iteye_20954
·
2020-08-25 16:34
【剑指offer】面试题43:1~n整数中1出现的次数【C++版本】
【剑指
offer-
第二版】部分题目与解答【C++版本】题目:输入一个整数n,求1~n这n个整数的十进制表示中1出现的次数。
DigitalNexus
·
2020-08-25 11:34
C++
后台
剑指
Offer-
题43(Java版):从1到n整数中1出现的次数
参考自:《剑指Offer——名企面试官精讲典型编程题》题目:从1到n整数中1出现的次数输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。主要思路:为了找规律,使用例子来分析:取n=21345,为了递归,把数字分成两段:1~1345和1346~213451.先分析1346~21345:1)1出现在首
浊酒入清梦
·
2020-08-25 11:02
剑指Offer-Java
剑指
offer-
整数中1出现的次数(从1到n整数中1出现的次数)
25.整数中1出现的次数(从1到n整数中1出现的次数)题目内容:代码及思路:1.当输入数字不是很大的时候可以使用这种最简单的方法,但是当输入n非常大时,需要大量的计算,该种方法运算效率很低#include#includeusingnamespacestd;classsolution{public:intNumberOf1Between1AndN_Solution(intn){if(n>num;in
chestnutllin
·
2020-08-25 11:28
剑指offer部分题
剑指
offer-
整数中1出现的次数(从1到n整数中1出现的次数)
题目描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。地址:牛客链接题目分析笨方法:从1到n遍历,依次统计累加1的数目时间复杂度:O(NlgN)好方法:举例说明,对
zjxxyz123
·
2020-08-25 11:28
剑指offer
剑指offer(Java版)
出鞘之剑指
offer-
第4题 (二维数组中的查找)
题目在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析一最基础的,就立马想到全都遍历一遍代码一packageoffer.xzs.fourth;publicclassBaseCode{publicstaticvoidmain(String[]args){int[][]array={
xzs199505
·
2020-08-25 01:08
剑指offer
剑指
offer-
二维数组中的查找(leetcode)
这道题的解法核心就是:从右上角不断搜索。若matrix[row][col]==target则returntrue;若matrix[row][col]>target,则向该数字的左方继续搜索,即col--;若matrix[row][col]>&matrix,inttarget){if(matrix.empty()||matrix.size()==0||matrix[0].size()==0){ret
fffffer
·
2020-08-25 00:48
算法学习
从毕业到工作的这6个月,收获和感想
【实习-
OFFER-
创业】回想起来,从大三开始的实习确实帮助了我许多,从一个PHP菜鸟成长为现在的中级程序员(自封的),学习了很多也更加了解自己,明白自己是一个什么样的人,适合做什么样的工作。
iteye_11687
·
2020-08-24 14:38
面试
数据库
php
4 牛客网-剑指
offer-
重建二叉树
重建二叉树时间限制:1秒空间限制:32768K热度指数:474469参考网址:https://www.cnblogs.com/wuguanglin/p/reConstructBinaryTree.html题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7
咕叽咕叽_6130
·
2020-08-24 12:24
剑指
Offer-
牛客网-python
二叉搜索树的第k个结点:#因为二叉搜索树,故中序遍历后,结果为排序好的ListclassSolution:#返回对应节点TreeNodedefKthNode(self,pRoot,k):#writecodehereifnotpRoot:returnNoneself.res=[]self.midTrave(pRoot)returnself.res[k-1]if0
人工智障Jackson
·
2020-08-24 11:45
数据结构
剑指
offer-
旋转数组中的最小数字
题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。这个题目比较考察思路全面性,首先它问的是数组中最小值,那我直接上去就用了STL的函数整个数组整体求min_elemen
春水秋泽
·
2020-08-24 01:32
剑指offer系列编程练习
【剑指offer】面试题46:把数字翻译成字符串【C++版本】
【剑指
offer-
第二版】部分题目与解答【C++版本】题目:给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成“a”“a”,1翻译成“b”“b”,……,11翻译成“l”“l”(小写的“L”“L”)
DigitalNexus
·
2020-08-24 01:12
C++
后台
剑指
Offer-
树的子结构
题目描述树的子结构输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)解题思路递归判断当前节点是不是子树的开始节点,否则传入该节点的左右节点继续判断在判断当前结点是否已经是子树的开始结点时,首先判断结点值是否相等,相等的话再判断各自的左右孩子是否也对应相等(此时要注意,子树可以先为空,但二叉树A不能先为空)代码classSolution{public:bool
一只可爱的柠檬树
·
2020-08-23 10:15
教你如何迅速秒杀99%的海量数据处理面试题
教你如何迅速秒杀99%的海量数据处理面试题作者:July出处:结构之法
算法之道
blog前言一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文
iuhsihsow
·
2020-08-23 06:41
生活
剑指
Offer-
面试题59-I:滑动窗口的最大值 双端队列法
这里是题目描述:剑指
Offer-
面试题59-I:滑动窗口的最大值这道题我们直观上可以使用蛮力法,对所有可能的滑动窗口,遍历它们并求最小值。
Assassin_Fan
·
2020-08-23 02:46
剑指offer编程题
队列
数据结构
queue
java
剑指
Offer-
变态跳台阶
变态跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法分析代码packagecom.liuyao;publicclassMain{publicstaticvoidmain(String[]args){//writeyourcodehere\System.out.println(JumpFloorII(3));}publicst
码路编
·
2020-08-23 01:19
剑指Offer
剑指offer:不用加减乘除做加法
位运算参考自牛客网讨论python位运算有坑,0xFFFFFFFF理解参考:剑指
offer-
[编程题]不用加减乘除做加法(python2实现及解析)#-*-coding:utf-8-*-classSolution
dene_jucember
·
2020-08-23 01:25
剑指offer刷题
剑指
offer-
字符串的排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。地址:牛客链接题目分析这是一道经典的DFS题目,利用回溯的思想找到一个字符数组的全排列,并完成去重与字典序排序操作。大致思想便是,先确定第i个字符(从i到最后完成遍历枚举),然后对i+1-N-1个字符递归使用全排列(缩
zjxxyz123
·
2020-08-23 00:06
剑指offer
剑指offer(Java版)
信息学(OI)竞赛—常用算法网站
算法竞赛网站归纳:以下大部分也都是表现形式为刷题的算法学习网站~求职面试看这个:结构之法
算法之道
推荐的讲解算法的网站、好博客:http://www.csie.ntnu.edu.tw/~u91029/讲解
tham_
·
2020-08-22 03:44
Algorithm
剑指
offer-
字符流中第一个不重复的字符(python)
题目本来的意思是需要用dict思想去做。classSolution:#返回对应chardef__init__(self):self.a=""self.d={}defFirstAppearingOnce(self):#writecodehereforiinself.a:ifself.d[i]==1:returnireturn"#"defInsert(self,char):#writecodehere
bo.qiu_xbw
·
2020-08-21 21:47
剑指offer
剑指
Offer-
题40(Java版):最小的k个数
参考自:《剑指Offer——名企面试官精讲典型编程题》题目:最小的k个数输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。主要思路:使用最大堆,保存目前已知的最小的k个数,堆顶是k个数中最大的元素。遍历数组,若堆中元素个数小于k,则直接添加到当前数字到堆中;若当前数字小于堆顶元素(即堆中最大元素),说明堆顶元素不可能是最小的k个
浊酒入清梦
·
2020-08-21 19:44
剑指Offer-Java
剑指
offer-
数字中只出现一次的数字
34.数字中只出现一次的数字题目内容:代码及思路:以整型数组{2,4,3,6,3,2,5,5}为例,数组中只有数字4和6只出现一次,剩下的数字都出现2次。#include#includeusingnamespacestd;classSolution{public:voidFindNumsAppearOnce(vectordata,int*num1,int*num2){if(data.empty()
chestnutllin
·
2020-08-21 19:27
剑指offer部分题
剑指
Offer-
字符串的排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解题思路—递归:基于回溯法思想:核心思想就是固定第一个字符,递归取得首位后面的各种字符串组合;再把第一个字符与后面每一个字符交换,并同样递
gaoyueace
·
2020-08-21 19:09
剑指Offer
剑指
offer-
最小的K个数-php
题目输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。题解先排序,再剪切代码$len)return[];for($i=0;$i<$len;$i++){for($j=$i;$j<$len;$j++){if($input[$j]<$input[$i]){$tmp=$input[$j];$input[$j]=$input[$i];$
重口味码农
·
2020-08-21 18:05
剑指OFFER
剑指OFFER-PHP实现
剑指offer - 字符流中第一个不重复的字符 - python
思路:这道题和剑指
offer-
第一个只出现一次的字符位置-python是基本一样的,前者是返回第一个只出现一次的字符,后者是返回
Forlogen
·
2020-08-21 18:20
剑指offer
剑指
Offer-
二叉树-二叉搜索树的第k大节点
54.二叉搜索树的第k大节点给定一棵二叉搜索树,请找出其中第k大的节点。解题思路:搜索二叉树的性质:左子树<根<右子树。搜索二叉树的中序遍历是顺序列表。输出中序遍历后,返回第k个数字。代码实现:
浮汐
·
2020-08-21 17:06
数据结构
剑指
offer-
面试题40:最小的K个数
题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。思路分析两种思路可以实现,第一种是利用插入排序来实现,首先维持一个长度为K的有序序列,然后将剩下的数字插入到有序序列中去,直到最后一个元素,插入排序结束后就前面K个元素就是最小的K个数;第二种是利用快速排序来实现,需要改动一下,判断每次返回的partition位置是否等
进修的CODER
·
2020-08-21 17:21
剑指offer
剑指
offer-
栈的压入,弹出序列
题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)难点坑点我们先看class类中本题函数给定的传入参数是两个vector类型的序列,而这道
南梦宫
·
2020-08-21 16:31
剑指
Offer-
面试题7:重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树,假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历{4,7,2,1,5,3,8,6},则重建如图2.6所示的二叉树并输出它的头节点。分析:前序遍历:先根,再左,后右;中序遍历:先左,再根,后右。那么前序遍历的第一个是根,在中序遍历中找到根位置,即可确定左右子树的分布。
cinco9866
·
2020-08-21 11:29
剑指Offer
Java
剑指Offer
剑指
offer-
表示数值的字符串-python
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。#-*-coding:utf-8-*-classSolution:#s字符串defisNumeric(self,s):#writecodeherei
铁蛋嘟嘟噜
·
2020-08-21 11:08
leetcode
剑指
offer-
复杂链表的复制-Python
题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)题目描述:在不用辅助空间的情况下实现O(n)的时间效率。复制原始链表的每个节点N,创建N’,然后把这些创建出来节点连接在N的后面设置复制出来的节点的self.random假设原
AlexGoke
·
2020-08-21 11:43
编程
算法
剑指
offer-
表示数值的字符串(c++)
boolisNumeric(char*string){if(string==NULL)returnfalse;if(*string=='+'||*string=='-')string++;if(*string=='\0')returnfalse;intdot=0,num=0,nume=0;//分别用来标记小数点,整数部分和e指数部分while(*string!='\0'){if(*string>=
Hu.先森
·
2020-08-21 11:32
剑指offer
[python]剑指
Offer-
复杂链表的复制
Description:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)练习地址:牛客OJ思路:整个复制过程分为三步#-*-coding:utf-8-*-#classRandomListNode:#def__init__(self,x
iamaline
·
2020-08-21 10:20
每天一道算法题
剑指
offer-
面试题54:二叉搜索树的第K大节点
题目:给定一颗二叉搜索树,请找出其中第K大的节点。核心思想:中序遍历如上图,中序遍历的结果位:2,3,4,5,6,7,8,则在该二叉搜索树中第3大的节点值为4.具体代码如下:publicclassSolution{intindex=0;TreeNodeKthNode(TreeNodepRoot,intk){if(pRoot==null||k<0)returnnull;TreeNodeKthNode
rodman177
·
2020-08-21 10:24
有关二叉树的问题
剑指offer刷题汇总
剑指
offer-
删除链表中重复的结点(python)
这题一直卡着,之前做过删除重复的保留一个,这样就简单很多,但是这次一个也不要留,一下子卡住了,不知道怎么处理。搜集了大家的答案,看了很多用递归的,但是感觉还是想不出来,所以还是选择不用递归去写。解释一下:需要设置三个指针,一个是cur,遇到重复的就一直往下走,head重新设置一个头结点,pre=head,pre遇到不重复的在连接,最后返回head.next#-*-coding:utf-8-*-#c
bo.qiu_xbw
·
2020-08-21 10:24
剑指offer
剑指
offer-
表示数值的字符串(python)
这道题很难呀,其实用python一句话就很够了,float(s),但是这样就失去了题目本来的意义,对提高自己的能力并没有帮助。于是这道题还是考虑出现的情况吧:1.如果遇到±,必须出现在首位,或者eE的后面,并且不能超过s的长度。2.如果遇到.,后面必须要跟着数字,并且不能出现在最后一位。3.如果遇到eE,后面不能出现.,后面只能跟着数组和±。4.如果不是数字,那就是错的。classSolution
bo.qiu_xbw
·
2020-08-21 10:24
剑指offer
剑指
offer-
链表中倒数第k个结点
求链表的倒数第K个节点:主要思路设置两个指针,刚开始都指向链表的第一个节点,第一个指针先走k-1步,然后两个一块走,直到第一个指针的下一位为nullptr,则第二个指针所指的位置就是倒数第k个节点。在编程书上看见这个方法,自己画了个链表试了试果然是这样,但是这是个什么原理呢?想了想是这样的耶。。。分为两种情况:1、倒数第k个位置在正数第k个位置之后,如图:此种情况下:P_head和nullptr分
努力的小程序员
·
2020-08-21 09:22
剑指
offer-
表示数值的字符串
题目请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。代码publicclassSolution{privateintindex=0;publicbooleanisNumeric(char[]str){if
哒哒Sewell
·
2020-08-21 09:13
剑指offer
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他