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
《程序员面试金典》
删除链表的节点
程序员面试金典
面试题 02.03. 删除中间节点 【链表】
面试题18.删除链表的节点val:int解法classSolution{public:ListNode*deleteNode(ListNode*head,intval){if(!head)returnnullptr;if(head->val==val)returnhead->next;/头结点的情况勿忘!for(ListNode*node=head;node->next;node=node->ne
三重极简
·
2020-03-17 22:03
剑指offer
程序员面试金典
程序员面试金典
Chapter3 Stacks and Queues
数据结构栈的实现根据某大学的教材,栈多用于递归(recursive)和多线程(multithread),秉持先进后出(FILO)的原则,现在我要试着亲手实现一个基本的栈,基本的function应该有:push()pop()peek()isFull()isEmpty()顾名思义,isFull和isEmpty就是判断栈满栈空的的function,主要说下两个主要的函数,pop和push。以链表的形式定
高冰洁
·
2020-03-11 17:17
程序员面试金典
面试题 10.01. 合并排序的数组
作者:LeetCode-Solution链接:https://leetcode-cn.com/problems/sorted-merge-lcci/solution/mian-shi-ti-1001-he-bing-pai-xu-de-shu-zu-by-leetc/逆向双指针(微调)classSolution{public:voidmerge(vector&A,intm,vector&B,int
三重极简
·
2020-03-03 12:13
程序员面试金典
【
程序员面试金典
】面试题05:一次编辑
文章目录面试题05:一次编辑题目描述code面试题05:一次编辑题目描述字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例1:输入:first="pale"second="ple"输出:True示例2:输入:first="pales"second="pal"输出:Falsecode#字符串有三种编辑操作:插入一
123.56.119.133:8090
·
2020-02-23 16:12
刷题
经典面试题之链表
《
程序员面试金典
》p49,2.6,求单链表环路的入口结点。相关题目:给定两个单链表,求他们的共同交点。
javaadu
·
2020-02-22 01:22
【
程序员面试金典
】:04.回文排列
文章目录回文排列题目描述code回文排列题目描述给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例1:输入:"tactcoa"输出:true(排列有"tacocat"、"atcocta",等等)code#给定一个字符串,编写一个函数判定是否为某个回文串的排列一致classSolution
123.56.119.133:8090
·
2020-02-19 14:45
刷题
Python
访问单个节点的删除
题目来源:牛客网--
程序员面试金典
题目描述实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。
努力努力再努力_姜姜
·
2020-02-18 11:26
【
程序员面试金典
】:02.判定是否互为字符重排
文章目录判定题目描述code判定题目描述给定两个字符串s1和s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例1:输入:s1="abc",s2="bca"输出:true示例2:输入:s1="abc",s2="bad"输出:falsecode#判定是否互为字符重拍classSolution:defCheckPermutation(self,s1:str,s2:str
123.56.119.133:8090
·
2020-02-16 10:56
刷题
Python
【
程序员面试金典
】面试题 01.06. 字符串压缩
题目字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1:输入:"aabcccccaaa"输出:"a2b1c5a3"示例2:输入:"abbccd"输出:"abbccd"解释:"abbccd"压缩后为"a1b2c2
Galaxy_hao
·
2020-02-13 21:00
【
程序员面试金典
】面试题 01.04. 回文排列
题目给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例:输入:TactCoa输出:True(排列有"tacocat"、"atcocta",等等)思路:哈希表哈希表统计每个字符出现次数,如果是回文串的排列,则字符出现次数为奇数的个数不能大于1。代码classSolution{public:
Galaxy_hao
·
2020-02-13 21:00
【
程序员面试金典
】面试题 01.01. 判定字符是否唯一
题目实现一个算法,确定一个字符串s的所有字符是否全都不同。示例1:输入:s="leetcode"输出:false示例2:输入:s="abc"输出:true限制:0<=len(s)<=100如果你不使用额外的数据结构,会很加分。思路:find函数代码classSolution{public:boolisUnique(stringastr){intsize=astr.size();for(inti=0
Galaxy_hao
·
2020-02-13 21:00
《
程序员面试金典
》笔记
一、面试流程1.1概述电话面试(在线共享文档)、现场面试面试后一个星期如果没有结果,可以去询问1.2面试题的来源面试题完全取决于面试官个人的喜好,所有公司来源大致相同,不同的公司在风格上存在差异1.3准备时间表与注意事项CTCI6.pngCTCI7.png1.4面试评估流程面试主要考查四个方面:工作经验、企业文化契合度、编程技能及分析能力。分量最重的是后两者(或者看你是否聪明)。一旦进入大型科技公
为梦想战斗
·
2020-01-08 12:55
程序员面试金典
Chapter1 Arrays and Strings
第一题翻转字符串把一个给定的字符串反转笨方法,遍历整个给定的string,将数组string[n]中的第i个元素与第[n-1-i]个元素对调,下面为代码示例:classReverse{public:stringreverseString(stringiniString){//writecodeherecharc;intlen=iniString.length();for(inti=0;i=iniS
高冰洁
·
2020-01-04 01:34
回文链表
题目来源:牛客网--
程序员面试金典
题目描述请编写一个函数,检查链表是否为回文。给定一个链表ListNode***pHead,请返回一个bool,代表链表是否为回文。
努力努力再努力_姜姜
·
2020-01-01 19:32
程序员面试之算法备忘录(四) | 二叉树
Topic目录数组字符串链表二叉树排序目标熟练使用常用数据结构的基本操作加深对常用算法与技巧的理解面试参考《
程序员面试金典
》《剑指offer》Leetcode《结构之法--July》二叉树篇BTreeADT
rh_Jameson
·
2019-12-29 07:35
链式A+B
题目来源:牛客网--
程序员面试金典
题目描述有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。
努力努力再努力_姜姜
·
2019-12-26 18:01
程序员面试之算法备忘录(二)|字符串
Topic目录数组字符串链表二叉树排序目标熟练使用常用数据结构的基本操作加深对常用算法与技巧的理解面试参考《
程序员面试金典
》《剑指offer》Leetcode《结构之法--July》字符串篇1_1.judge_char_unique_in_str1
rh_Jameson
·
2019-12-24 07:57
程序员面试金典
(题目摘录)
算法与数据结构面试基础数学等比数列求和公式![](http://latex.codecogs.com/svg.latex?S_n=\begin{cases}{a_1-a_1q^n\over1-q}&\text{q!=1}\{na_1}&\text{q=1}\end{cases})字符串题目摘要关于8.1.1确定一个字符串的所有字符是否全都不同字符种类、位向量8.1.6将N*N的矩阵旋转90度逐层(
芥丶未央
·
2019-12-19 08:42
5.链表常见操作
推荐大家看下《编程之美》、《
程序员面试金典
》还有编程相关网站:leetcode老师讲的很多题其实就是这些书和网站的题单链表是否存在环?环的入口是什么?
偷天神猫
·
2019-12-01 05:51
研究生学习书单
1数据结构:大话数据结构数据结构(严蔚敏)剑指Offer,
程序员面试金典
,编程珠玑,编程之美刷题:牛客网,leetcode程序员笔试面试最优解(左程云)/左神的笔试面试指南视频2**计算机网络**:计算机网络
土豆有点
·
2019-11-07 00:44
程序员面试金典
Chapter2 Linked List
第一题输出链表中的倒数第n个结点给出的结构体为:structListNode{intval;structListNode*next;ListNode(intx):val(x),next(NULL){}};我觉得首先应该要把整个链表的长度先求出来,然后在不判断不遍历整个链表的情况下只比对数字。下面是示例代码:classSolution{public:ListNode*FindKthToTail(Li
高冰洁
·
2019-11-04 17:33
链表分割
题目来源:牛客网--
程序员面试金典
题目描述编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前给定一个链表的头指针ListNode*pHead,请返回重新排列后的链表的头指针
努力努力再努力_姜姜
·
2019-11-04 10:05
程序员面试之算法备忘录 (一)| 数组
Topic目录数组字符串链表二叉树排序目标熟练使用常用数据结构的基本操作加深对常用算法与技巧的理解面试参考《
程序员面试金典
》《剑指offer》Leetcode《结构之法--July》数组篇左旋字符串/数组
rh_Jameson
·
2019-10-31 06:28
二分查找(Binary Search)【注意及实现】
这一点,在《
程序员面试金典
》以及《编程珠玑》等经典中都有提到。概括的说,二分查找的
少年我手写红黑树
·
2019-06-01 14:53
算法&数据结构
程序员面试金典
_SetOfStacks
原书中描述设想有一堆盘子,堆太高可能会倒下来;在现实生活中,盘子堆到一定高度时重新堆另外一堆盘子。请实现一种数据结构SetOfStacks,模拟这种行为。为了方便检测,设置多行两列的操作数组op[][];每行第一个数代表操作,若为1,push进栈、第二个数为进栈数据;若为2,pop出栈;size表示每个栈最大容量,超过栈的容量则申请新栈,最后返回所有栈Java代码参考importjava.util
掌纹_4e5b
·
2019-05-02 11:19
数据结构与算法面试考点总结—
程序员面试金典
0.前言简要总结面试或工作中最常用的数据结构和算法以及一些容易忽略但是重要的细节。内容主要包括:数组与字符串;链表;栈与队列;树与图;位操作;智力题;数学与概率;面向对象设计;递归与动态规划;扩展性与存储型限制;排序与查找;测试;C++重要知识点;Java重要知识点;数据库;线程与锁;后续会针对一些典型题目进行题解说明。1.数组与字符串散列表:一种将键映射为值从而实现快速查找的数据结构。平均查找时
Shao Kaiyang
·
2019-05-01 15:56
面试思考
面试前一些非技术注意事项--
程序员面试金典
0.主要内容面试流程面试揭秘特殊情况面试之前行为面试题技术面试题录用通知及其他1.面试流程面试流程:简历筛选——笔试——面试(内推可以直接进笔试,国内面试至少3轮,可能会有简历面,技术面,主管面,总监面,交叉面,HR面)——意向书——offer——体检——签约——入职面试题来源:这个与具体的面试官相关,面试官会根据简历内容或者自己预先准备好的题目进行各个维度的考察面试时间表与注意事项:约定好的面试
Shao Kaiyang
·
2019-04-28 16:32
面试思考
《
程序员面试金典
》1.4 字符串替换-Java
题目:1.4编写一个方法,将字符串中的空格全部替换为“%20”.假定该字符尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)代码:/**1.4编写一个方法,将字符串中的空格全部替换为“%20”.假定该字符尾部有足够的空间存放新增字符,*并且知道字符串的“真实”长度。*(注:用Java实现的话,请使用字符数组实现,以便直
夏天707
·
2019-02-18 16:28
java
Data
Structure
and
Algorithms
程序员刷题面试资源汇总
-《
程序员面试金典
》。 -《程序
cunane
·
2019-01-10 00:00
实现一个算法,确定一个字符串的所有字符是否全部都不同。
程序员面试金典
:实现一个算法,确定一个字符串的所有字符是否全部都不同。网上大神有一种解法,就是变种实现标记方法,通过位标记来判断是否有重复字符,这种方法相对于bool标记数组可以节省空间。
hugo122966
·
2018-11-06 11:35
数据结构与算法
上楼梯 牛客网
程序员面试金典
动态规划
上楼梯牛客网程序员面试经典动态规划题目描述有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod1000000007给定一个正整数intn,请返回一个数,代表上楼的方式数。保证n小于等于100000。测试样例:1返回:1C++代码classGoUpstairs{public://run:12msmemory:73
DarrenXf
·
2018-08-04 00:05
Algorithm
算法
牛客网
程序员面试金典
C++
python
动态规划
【
程序员面试金典
】对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。
题目描述对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串。测试样例:"(()())",6返回:true测试样例:"()a()()",7返回:false测试样例:"()(()()",7返回:falseclassParenthesis{public:boolchkParenthesis(stringA,intn
HelloZEX
·
2018-07-25 09:59
程序员面试金典/
编程测试题
/
ACM
【
程序员面试金典
】有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。注意这次的网格中有些障碍点是不能走的。
题目描述有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。注意这次的网格中有些障碍点是不能走的。给定一个int[][]map(C++中为vector>),表示网格图,若map[i][j]为1则说明该点不是障碍点,否则则为障碍。另外给定intx,inty,表示网格的大小。请返回机器人从(0,0)走到(x-1,y-1)的走法数,为
HelloZEX
·
2018-07-24 09:03
程序员面试金典/
编程测试题
/
ACM
【
程序员面试金典
】有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。
题目描述有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。测试样例:[[1,2,3],[4,5,6],[7,8,9]],3返回:[[7,4,1],[8,5,2],[9,6,3]]classT
HelloZEX
·
2018-07-19 15:08
程序员面试金典/
编程测试题
/
ACM
要看的书籍或视频——Java后端
书单:算法与数据结构:数据结构(严蔚敏)/大话数据结构//如果觉得教材无聊就可以看大话系列,印象中里面还有很多诗剑指Offer/
程序员面试金典
/编程珠玑/编程之美/牛客网+leetcode程序员笔试面试最优解
Strom72
·
2018-06-12 00:54
计划
程序员面试金典
——番外篇之下一个较大元素II
程序员面试金典
——番外篇之下一个较大元素IISolution1:我的答案,时间复杂度为O(n2)O(n2)垃圾算法classNextElement{public:vectorfindNext(vectorA
Allenlzcoder
·
2018-04-30 22:38
c/c++
程序员面试金典题目笔记
程序员面试金典
——番外篇之下一个较大元素I
程序员面试金典
——番外篇之下一个较大元素ISolution1:我的答案,时间复杂度为O(n2)O(n2)垃圾算法classNextElement{public:vectorfindNext(vectorA
Allenlzcoder
·
2018-04-30 22:48
程序员面试金典题目笔记
程序员面试金典
--题目解析-1.8 给定两个字符串,s1和s2,确定s2是否是s1旋转得到的。
1.8题目:给定两个字符串,s1和s2,确定s2是否是s1旋转得到的。比如:s1=waterbottle;s2=erbottlewat;另,提供了一个判断是否是子串的方法isSubstring(a,b)以检验b是否是a的子串解法:1、取s2的第一个字符,在s1中找到第一次出现的位置,然后截断s1s2比如:先拿出e找到在s1中的位置,截断s1为erbottle和wat;截断s2为erbottle和w
GNin_99
·
2018-04-23 16:36
算法与数据结构
【重点】
程序员面试金典
——4.6寻找下一个结点
Solution1:我的答案对中序遍历的结果查找之~/*structTreeNode{intval;structTreeNode*left;structTreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};*/classSuccessor{public:intfindSucc(TreeNode*root,intp){//中序遍
Allenlzcoder
·
2018-04-17 09:09
程序员面试金典题目笔记
程序员面试金典
——1.7清除行列
Solution1:我的答案空间复杂度比较高,垃圾算法classClearer{public:vector>clearZero(vector>mat,intn){//writecodeherevector>mat_copy=mat;if(n==0)returnmat_copy;setrow_zero,col_zero;for(inti=0;i>&mat,intr){for(intj=0;j>&ma
Allenlzcoder
·
2018-04-08 11:37
程序员面试金典题目笔记
程序员面试金典
——1.8反转子串
##1.答案及代码Solution1:时间复杂度为O(n)O(n)O(n),方法比较笨。。。classReverseEqual{ public: boolcheckReverseEqual(strings1,strings2){ //writecodehere if(s1.compare(s2)==0)//俩串相等,返回true returntrue; if(s1.size()+s2.size()
Allenlzcoder
·
2018-04-08 00:00
程序员面试金典题目笔记
【字符串替换】
程序员面试金典
——1.4空格替换
Solution1:我的答案20181007重做classReplacement{public:stringreplaceSpace(stringiniString,intlength){//writecodehereintspace_nums=0;for(inti=0;i
Allenlzcoder
·
2018-04-07 16:11
程序员面试金典题目笔记
牛客之
程序员面试金典
_ 编程题(二)
1.清除行列题目描述请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。给定一个N阶方阵int[]”>mat和矩阵的阶数n,请返回完成操作后的int[][]方阵(C++中为vector>),保证n小于等于300,矩阵中的元素为int范围内。测试样例:[[1,2,3],[0,1,2],[0,0,1]]返回:[[0,0,3],[0,0,0],[0,0,0]]解答首先遍历N阶方阵,使用两个
小菜鸟要高飞
·
2018-03-18 20:15
JAVA
牛客之
程序员面试金典
_ 编程题(一)
1.确定字符串互异请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。给定一个stringiniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。测试样例:“aeiou”返回:True“BarackObama”返回:False解法一:采用双重循环,
小菜鸟要高飞
·
2018-03-16 21:21
JAVA
[
程序员面试金典
]-链表反转
packageniuke;publicclassMaxNum{//链表反转publicListNodereverseList(ListNodepHead){if(pHead==null)returnnull;ListNodepre=null;//ListNodecur=pHead.next;//ListNodetmp;//pHead.next=null;while(pHead!=null){Lis
VictorLeeLk
·
2017-07-14 17:54
程序员面试金典
[JAVA
程序员面试金典
]最长递增子序列
最简单的思路是动态规划,数组array表示输入的数组,用一个数组dp记录子串每一位的最长递增子串长度,采用公式dp[i]=max(dp[i],dp[j]+1)其中jarray[j]具体分析如下:设f(i)表示L中以array[i]为末元素的最长递增子序列的长度。则有如下的递推方程:这个递推方程的意思是,在求以array[i]为末元素的最长递增子序列时,找到所有序号在L前面且小于array[i]的元
VictorLeeLk
·
2017-06-08 22:27
Java
程序员面试金典
[JAVA
程序员面试金典
]最长递增子序列
最简单的思路是动态规划,数组array表示输入的数组,用一个数组dp记录子串每一位的最长递增子串长度,采用公式dp[i]=max(dp[i],dp[j]+1)其中jarray[j]具体分析如下:设f(i)表示L中以array[i]为末元素的最长递增子序列的长度。则有如下的递推方程:这个递推方程的意思是,在求以array[i]为末元素的最长递增子序列时,找到所有序号在L前面且小于array[i]的元
LK274857347
·
2017-06-08 22:00
java
最长公共子序列
经典算法实现——字符串(一)
摘自《
程序员面试金典
》问题描述:对于一个给定的源字符串和一个目标字符串,你应该输出在这个源字符串中匹配到的第一个索引。如果源字符串中不存在目标字符串,就返回-1.例如:源字符串为“source”和目
Jinlong_Xu
·
2017-04-02 22:46
C++
Python
剑指offer
剑指offer
判断链表是否为回文串以及关于回文串问题的讨论
最近在看
程序员面试金典
,在链表部分看到有一题问如何判断链表是否是回文串,然后想到白书中也有对最长回文子串的讨论,故想做一点总结。
Turisla
·
2017-03-13 12:32
leetcode
ACM练习足迹
程序员面试金典
-5.6找出缺失的部分
一、题目描述数组A包含了0到n的所有整数,但其中缺失了一个。对于这个问题,我们设定限制,使得一次操作无法取得数组number里某个整数的完整内容。唯一的可用操作是询问数组中第i个元素的二进制的第j位(最低位为第0位),该操作的时间复杂度为常数,请设计算法,在O(n)的时间内找到这个数。给定一个数组number,即所有剩下的数按从小到大排列的二进制各位的值,如A[0][1]表示剩下的第二个数二进制从
lemon2631
·
2017-03-03 17:27
LeetCode刷题
上一页
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
其他