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-
面试题03- 数组中重复的数字
文章目录剑指
Offer-
面试题03-数组中重复的数字解法与思路剑指
Offer-
面试题03-数组中重复的数字找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。
怪我冷i
·
2020-06-23 05:51
java
零基础学数据结构
acm
剑指
offer-
面试题4:替换空格
题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy。思路:1.用python内置函数,replace将空格换成%202.注意时间复杂度。如果从前往后插入的话,每一个空格插入的时间复杂度是o(n),当往后遍历时候,o(n)个空格的字符串总的时间复杂度为o(n2)。(这个时间复杂度比较难理解)如何从
大鱼霸吃小鱼儿
·
2020-06-23 03:39
python
程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦
题系列机器学习十大算法系列程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结(七月在线:https://www.julyedu.com/,面试&算法&机器学习在线课程)作者:July--结构之法
算法之道
青木宫
·
2020-06-23 02:16
面试及编程练习
经典算法研究
程序员编程艺术
微软面试100题系列
机器学习十大算法系列
CSDN 联合 18 家大厂招聘直播,10 小时突破百万热度!
5月15日12时,由CSDN举办的「遇到
Offer-
就要圆你的大厂梦」10小时在线招聘直播活动,圆满落下帷幕!在十个小时的招聘直播中,达到百万级的参与热度。
CSDN资讯
·
2020-06-23 01:25
剑指
offer-
每日6题之第九天(java版)
原题链接:第一题:把字符串转换成整数第二题:数组中重复的数字第三题:构建乘积数组第四题:正则表达式匹配第五题:表示数值的字符串第六题:字符流中第一个不重复的字符第一题:把字符串转换成整数题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。数值为0或者字符串不是一个合法的数值则返回
叶子在这儿
·
2020-06-22 20:41
剑指offer
剑指
offer-
每日6题之第八天(java版)
原题链接:第一题:左旋转字符串第二题:翻转单词顺序列第三题:扑克牌顺子第四题:孩子们的游戏(圆圈中最后剩下的数)第五题:求1+2+3+...+n第六题:不用加减乘除做加法第一题:左旋转字符串题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef
叶子在这儿
·
2020-06-22 20:10
剑指offer
(剑指
offer-
题目笔记(2)-9~11题
剑指
offer-
题目笔记(1)-9~11题面试题9:用两个栈实现队列面试题10.1:斐波那契数列面试题10.2:青蛙跳台问题面试题11:旋转数组的最小数字面试题9:用两个栈实现队列1.一个栈用来插入2.
ccccCi归宿
·
2020-06-22 19:07
剑指offer
支持向量机通俗导论(理解SVM的三层境界)
出处:结构之法
算法之道
blog。
_LinTao
·
2020-06-22 19:07
Others
Thinking
数据结构-剑指
offer-
翻转单词顺序列
题目:例如,“student.aamI”,正确的句子应该是“Iamastudent.”。思路:直通BAT关于字符串的视频中有提到类似的题型。对字符串进行两次翻转,第一次对全体字符串进行翻转,第二次以空格为分界线对每个单词进行翻转。classSolution{public:stringReverseSentence(stringstr){intlen=str.size();Reverse(str,0
baidu_32936911
·
2020-06-22 16:19
数据结构
剑指offer
C
剑指
offer-
链表-复杂链表复制
题目输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思路分析原始思路首先从头到尾遍历链表,遍历的同时进行复制存在问题:O(n)完成从头到尾的遍历复制,但是连接random时需要先通过遍历找到节点,导致时间复杂度增加为O(n^2)优化r
Stefan1001
·
2020-06-22 16:37
刷题笔记
Atitit order algo 排序算法
算法之道
目录 1.1. 生活中常用的排序是插入排序和选择排序 2 2. 0.1 算法分类 2 3. .2 算法复杂度 3 4. 十大经典排序算法(动图
Atititorderalgo排序算法
算法之道
目录1.1.生活中常用的排序是插入排序和选择排序22.0.1算法分类23..2算法复杂度34.十大经典排序算法(动图演示)244.1.0、算法概述244.2.1
attilax
·
2020-06-22 15:26
剑指
OFFER-
合并两个排序的链表-PHP
题目输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。题解简单的合并排序。由于两个数列本来就是递增的,所以每次将两个数列中较小的部分拿过来就可以了。代码val=$x;}}*/functionMerge($pHead1,$pHead2){if($pHead1==NULL)return$pHead2;if($pHead2==NULL)return$pHead1
重口味码农
·
2020-06-22 12:07
剑指OFFER
剑指OFFER-PHP实现
剑指
offer-
用两个栈实现队列-php
题目用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。题解两个栈。出栈的时候,如果栈2不为空,就出栈2。如果栈2为空,就把栈1的出栈再入栈2。代码
重口味码农
·
2020-06-22 12:07
剑指OFFER
剑指OFFER-PHP实现
剑指
offer-
统计一个数字在排序数组中出现的次数-PHP
题目统计一个数字在排序数组中出现的次数。题解1、既然是排序数组,使用二分查找是效率最高的。找到之后再向两侧拓展一下。代码>1;if($data[$middle]==$k){$index=$middle;break;}elseif($data[$middle]>$k){$high=$middle-1;}else{$low=$middle+1;}$index=-1;}//console.log(ind
重口味码农
·
2020-06-22 12:07
剑指OFFER
数据结构/算法
剑指OFFER-PHP实现
剑指
OFFER-
二维数组中的查找
题目在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题解最笨的办法当然是按照顺序挨个搜索,如果数组无序的话,这也是唯一的办法,不过既然数组有序,就可以简单很多,一是可以通过每列的二分查找的方式搜索。不过更简单的是因为数组排列从左到右递增,从上到下递增。那每一列最左边的数就可以作为一
重口味码农
·
2020-06-22 12:07
剑指OFFER
剑指OFFER-PHP实现
剑指
OFFER-
滑动窗口的最大值
题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5};针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个:{[2,3,4],2,6,2,5,1},{2,[3,4,2],6,2,5,1},{2,3,[4,2,6],2,5,1},{
达达_
·
2020-06-22 10:49
数据结构
牛客网剑指offer java 全部题解
每天一道剑指
offer-
二维数组中的查找https://mp.weixin.qq.com/s?
程序员乔戈里
·
2020-06-22 08:06
java面试
Java
在线OJ
每天一道剑指
offer-
数字在排序数组中出现的次数
每天一道剑指
offer-
数字在排序数组中出现的次数题目详述统计一个数字在排序数组中出现的次数。
程序员乔戈里
·
2020-06-22 08:33
每天一道剑指
offer-
矩形覆盖
辣条走起,每个月的刷题99元奖励靠大家了前言2018.11.30号打卡今天的题目昨天的题解题目每天一道剑指
offer-
矩形覆盖题目详述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。
程序员乔戈里
·
2020-06-22 08:02
剑指offer-Java-所有题目索引
剑指offer所有题目索引:剑指
offer-
面试题02-实现singleton模式剑指
offer-
面试题03-二维数组中的查找剑指
offer-
面试题04-替换空格剑指
offer-
面试题05-从尾到头打印链表剑指
SaiW-n_n-
·
2020-06-22 07:58
剑指offer
剑指
offer-
面试题36-数组中的逆序对
/***Createdbyappleon17/6/2.*求数组中的逆序对数,时间复杂度为O(nlogn)*/publicclassInversePairs{publicstaticvoidmain(String[]args){int[]arr={7,4,5,6,1,2};System.out.println("排序之前的数组:");for(inti=0;i=high){return0;}intmi
SaiW-n_n-
·
2020-06-22 07:58
剑指offer
剑指
offer-
面试题65-滑动窗口的最大值
packagecase65_maxInWindow;importjava.util.ArrayDeque;importjava.util.ArrayList;/***题目:给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,*他们的最大值分别为{4,4,6,6,6,5}。**@authorWa
SaiW-n_n-
·
2020-06-22 07:58
剑指offer
剑指
offer-
面试题30-最小的K个数
1,O(n)的算法,只有当我们可以修改输入的数组时可用packagecase30_GetLeastNum;/***题目:输入n个整数,找出其中最小的k个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4*方法:利用partition函数完成,采用这种思路是有限制的。我们需要修改输入的数组,因为函数Partition会调整数组中数字的顺序***@authorWan
SaiW-n_n-
·
2020-06-22 07:57
剑指offer
剑指
offer-
快速排序
快速排序packagecase99_QuickSort;publicclassQuickSort{//快速排序publicstaticvoidmain(String[]args){int[]arr={9,9,5,8,3,7,4,6,2};QSort(arr);for(inti=0;i=arr[low])low++;arr[high]=arr[low];}arr[low]=pivotKey;retu
SaiW-n_n-
·
2020-06-22 07:26
剑指offer
剑指
offer-
二叉搜索树的第k个结点之python实现
#-*-coding:utf-8-*-#classTreeNode:#def__init__(self,x):#self.val=x#self.left=None#self.right=NoneclassSolution:#返回对应节点TreeNodedefKthNode(self,root,k):ifroot==Noneork==0:returnNoneself.helper(root,k)if
Sallywa
·
2020-06-22 04:05
算法
剑指
offer-
字符串转数字
/*******************************************************************Copyright(c)2016,TyroneLiAllrightsreserved.*******************************************************************///作者:TyroneLi///*Q1:字
OliverkingLi
·
2020-06-22 02:29
刷题
剑指
offer-
实现C++不能被继承的一个类
/*******************************************************************Copyright(c)2016,TyroneLiAllrightsreserved.*******************************************************************///作者:TyroneLi///*Q1:实
OliverkingLi
·
2020-06-22 02:29
刷题
剑指
offer-
正整数连续序列累加求和,限制使用常规方法
/*******************************************************************Copyright(c)2016,TyroneLiAllrightsreserved.*******************************************************************///作者:TyroneLi///*Q1:求
OliverkingLi
·
2020-06-22 02:28
刷题
剑指
offer-
圆周中最后剩下的数字
/*******************************************************************Copyright(c)2016,TyroneLiAllrightsreserved.*******************************************************************///作者:TyroneLi///*Q1:圆
OliverkingLi
·
2020-06-22 02:28
刷题
剑指
offer-
不使用加减乘除运算实现两个数加和
/*******************************************************************Copyright(c)2016,TyroneLiAllrightsreserved.*******************************************************************///作者:TyroneLi///*Q1:不
OliverkingLi
·
2020-06-22 02:28
刷题
剑指
offer-
二进制中1的个数-java
题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路解析:https://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0
Lynn_Baby
·
2020-06-22 00:33
牛客
Java
剑指offer
在线编程
剑指
offer-
滑动窗口的最大值-Java
题目描述:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5};针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个:{[2,3,4],2,6,2,5,1},{2,[3,4,2],6,2,5,1},{2,3,[4,2,6],2,5,1},
Lynn_Baby
·
2020-06-22 00:32
牛客
Java
剑指offer
链表
在线编程
剑指
offer-
翻转单词顺序列-java
题目描述:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student.aamI”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“Iamastudent.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?思路解析:目标:把"Iamastude
Lynn_Baby
·
2020-06-22 00:01
牛客
Java
剑指offer
在线编程
剑指
offer-
二叉搜索树的第k个结点-java
题目描述:给定一颗二叉搜索树,请找出其中的第k大的结点。例如,5/\37/\/\2468中,按结点数值大小顺序第三个结点的值为4。思路解析:二叉树的中序遍历,从小到大输出结点用栈来存储结点,并且计数。循环条件:结点不为空,栈不为空结点不为空就入栈,否则就出栈,遍历到第k结点就要跳出循环代码:importjava.util.Stack;/*publicclassTreeNode{intval=0;T
Lynn_Baby
·
2020-06-22 00:01
牛客
Java
剑指offer
在线编程
树
支持向量机通俗导论(理解SVM的三层境界)
支持向量机通俗导论(理解SVM的三层境界)作者:July、pluskid;致谢:白石、JerryLead出处:结构之法
算法之道
blog。
Liu_Fengming
·
2020-06-22 00:12
Math
Machine
L/
Data
Mining
剑指
offer-
第三题方法总结
杨氏矩阵:每一行自左向右递增,每一列自上向下递增。题目:输入一个杨氏矩阵和一个整数,判断这个数是在杨氏矩阵中出现。分析:有三种时间复杂度各不相同的解法。第一种:遍历整个二维数组,这种方法效率最低。第二种:因为杨氏矩阵每行都是递增的,是有序的,我们可以先判断这个整数是否大于等于每行的第一个元素,小于等于最后一个元素。如果是的话,则对这行使用折半查找法进行查找。这种方法效率次之。第三种:因为每行是递增
午饭要阳光
·
2020-06-21 23:05
刷题
c/c++基础
剑指
offer-
数字在排序数组中出现的次数
问题题目:[剑指
offer-
数字在排序数组中出现的次数]思路朴素的思路不说了,扫一遍就行了。
Kang_TJU
·
2020-06-21 23:08
剑指offer
剑指
offer-
二叉搜索树的第k个结点
问题题目:[剑指
offer-
二叉搜索树的第k个结点]思路对于BST而言,最常见的遍历就是中序。因为可以递增序列,此时拿到第k个就可以了。
Kang_TJU
·
2020-06-21 23:08
剑指offer
剑指
offer-
翻转单词顺序列
题目描述最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student.aamI”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“Iamastudent.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?思路这题很简单,主要考察字符串分割,可以这样
感谢努力的自己
·
2020-06-21 16:50
算法练习
剑指
offer-
二叉搜索树的第k个结点
题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如,5/\37/\/\2468中,按结点数值大小顺序第三个结点的值为4。地址:牛客链接问题分析因为是二叉搜索树,所以对它进行中序遍历得到的结果便是一个有序数列,从而很好找到第K个节点。但对于这题,我们只要找到第K个节点便可以停止,无需遍历所有节点,具体有以下两种做法:递归法:只需在原中序遍历递归版的基础上,在打印字符的那一处,改为count+
zjxxyz123
·
2020-06-21 15:53
剑指offer
剑指offer(Java版)
剑指
offer-
数字在排序数组中出现的次数
题目描述统计一个数字在排序数组中出现的次数。思路(剑指offer书上)o(n)的很容易想到publicclassSolution{publicintGetNumberOfK(int[]array,intk){intnum=0;for(inti=0;i-1&&last>-1)num=last-first+1;returnnum;}staticintGetFirstK(int[]array,intk,
ying______
·
2020-06-21 13:17
剑指offer
教你如何迅速秒杀掉:99%的海量数据处理面试题
教你如何迅速秒杀掉:99%的海量数据处理面试题本文经过大量细致的优化后,收录于我的新书《编程之法:面试和算法心得》第六章中,新书目前已上架京东/当当作者:July出处:结构之法
算法之道
blog前言一般而言
v_JULY_v
·
2020-06-21 09:47
05.MS
100'
original
22.Big
Data
Processing
微软面试100题系列
程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦
程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结作者:July--结构之法
算法之道
blog之博主。
v_JULY_v
·
2020-06-21 09:46
微软面试100题系列
程序员编程艺术
经典算法研究
剑指
offer-
数组中最小的K个数
题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。这是一个经典的topK问题。根据一般的想法,对数组进行排序,再去前K个数作为结果。排序算法若采用快排,平均时间复杂度为O(n*logn)。因此常用解法为构建最大(小)堆的策略来解topK问题,这种解法的平均时间复杂度为O(n*logk),所以很适合于海量数据中的topK
p入门到崛起q
·
2020-06-21 07:45
剑指offer
剑指
offer-
面试题30-最小的k个数
题目描述:输入n个整数,找出其中最小的k个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4.题目分析:这道题最简单的思路莫过于把n个整数排序,然后最前面的k个数就是最小的k个数,但是时间复杂度是O(nlogn)。我们应该想一想有没有更快的方法。解法一:O(n)的算法,只有当可以修改输入的数组时可用。基于快排里的Partition函数,基于数组中的第k个数来调整
但觉
·
2020-06-21 04:15
剑指offer
牛客网在线编程专题《剑指
offer-
面试题30》最小的K个数
我的个人微信公众号:Microstrong微信公众号ID:MicrostrongAI微信公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!知乎主页:https://www.zhihu.com/people/MicrostrongAI/activitiesGithub:https
Microstrong0305
·
2020-06-21 04:32
算法
剑指offer
剑指
offer-
面试题30:最小的K个数
题目:输入n个数,找出其中最小的K个数。例如输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1,2,3,4。思路:这道题目是典型的topK问题。两种方法:(1)如果允许改变数列,半快速排序,是基准值正好为第K个数,那么基准值左边的都是小于它的,即可得到最小的K个数(求最大的过程类似),时间复杂度O(n)。(2)不允许改变数列,采用维护数组的方法,建立一个最大堆。遍历数列,如果数字小
moses1213
·
2020-06-21 03:39
剑指offer
剑指
offer-
面试题26:复杂链表的复制
题目:请实现函数ComplexListNode*Clone(ComplexListNode*pHead),复制一个复杂链表。在复杂链表中,每个结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任意结点或者NULL。结点的C++定义如下:structComplexListNode{intm_nValue;ComplexListNode*m_pNext;Comp
moses1213
·
2020-06-21 03:39
剑指offer
剑指
Offer-
题53(一)(Java版):数字在排序数组中出现的次数
参考自:《剑指Offer——名企面试官精讲典型编程题》题目:数字在排序数组中出现的次数统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4。主要思路:排序数组使用二分查找,先找出该数字第一次出现的位置和最后一次出现的位置,则出现次数也就是它们的长度。 找数字第一次出现的位置的过程:若该数字大于中间的数字,则在数组
浊酒入清梦
·
2020-06-21 03:05
剑指Offer-Java
剑指
Offer-
题53(二)(Java版):0到n-1中缺失的数字
参考自:《剑指Offer——名企面试官精讲典型编程题》题目:0到n-1中缺失的数字一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0到n-1之内。在范围0到n-1的n个数字中有且只有一个数字不在该数组中,请找出这个数字。主要思路:若数组没有缺失,则每个数字和它的下标都相等。然而,现在数组有缺失,说明从缺失的那个数开始,后面的数字都比它的下标大1。因此找出第一个数值和下标不
浊酒入清梦
·
2020-06-21 03:05
剑指Offer-Java
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他