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
刷题日记-字符串类型题
基于字符的特性,0-256,他的哈希的方法主要是用数组的方式体现的0-256,或0-26,创建这样的数组来表述字符串的某种特性,这是字符串查找题目的一个特质具体题目:50题找出字符串中找出第一个只出现一次的字符,比如输入“abacceff",则输出'b'要想知道某个字符是不是只出现了一次,必须遍历字符串的每个字符。因此可以先遍历一次,统计每个字符出现次数。再遍历一次,遇到某个字符出现字符为1就立即
今天大梦要早睡
·
2024-02-13 03:11
剑指offer
——替换空格
目录1.题目描述与背景1.1题目描述1.2背景2.一般思路(时间复杂度为O(n²))3.分析4.完整代码4.1标准答案1.题目描述与背景1.1题目描述请实现一个函数,把字符串中的每个空格替换成“%20”。例如:输入“wearehappy.”,则输出“We%20are%20happy.”。1.2背景在网络编程中,如果URL参数中含有特殊字符,如空格、#等,可能导致服务器端无法获得正确的参数值。我们需
看落日的YT
·
2024-02-13 02:34
剑指offer
c语言
开发语言
面试
剑指offer
——旋转数组的最小数字
目录1.题目描述2.分析思路2.1示例分析3.更完美的做法1.题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3.4,5,1.2}为{1.2,3,4,5}的一个旋转,该数组的最小值为1。2.分析思路这道题最直观的解法并不难,从头到尾遍历数组一次,我们就能找出最小的元素。这种思路的时间复杂度显然是O(n)。
看落日的YT
·
2024-02-13 02:32
剑指offer
算法
数据结构
面试
c语言
剑指Offer
:07-斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39思路实现1-递归classSolution{public:intFibonacci(intn){if(n<=1)returnn;returnFibonacci(n-1)+Fibonacci(n-2);}};实现2-非递归classSolution{public:intFibona
jackmxp
·
2024-02-13 00:14
剑指offer
学习笔记:4.3 举例让抽象问题具体化
面试题21:包含min函数的栈定义一个数据结构,请在该类型中实现一个能够得到栈中最小元素的min函数。在该栈中,调用min,push以及pop的时间复杂度都是o(1)。leetcode链接:https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/classMinStack{public:/**initializeyourda
小逗比儿
·
2024-02-12 18:19
剑指offer
67: 字符串中最小整数
题目描述首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。注意:假如该字符串中的第
Neon Zhou
·
2024-02-12 17:29
java数据结构与算法刷题-----LeetCode594. 最长和谐子序列
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-02-12 17:56
算法
java
leetcode
算法
java数据结构与算法刷题-----LeetCode18. 四数之和
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-02-12 17:55
算法
java
算法
leetcode
【
剑指Offer
】旋转数组的最小数字
1、题目描述有一个长度为n的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。数据范围:1≤n≤10000,数组中任意元素的值:0≤val≤10000要求:空间复杂度:O(1),时间复杂度:O(logn)2、思路分析如
tan77º
·
2024-02-12 13:10
算法
数据结构
leetcode
c语言
【
剑指Offer
】数字在升序数组中出现的次数之二分法
1、题目描述给定一个长度为n的非降序数组和一个非负数整数k,要求统计k在数组中出现的次数数据范围:0≤n≤1000,0≤k≤100,数组中每个元素的值满足0≤val≤100要求:空间复杂度O(1),时间复杂度O(logn)2、思路分析方法一:如果直接暴力循环求解的话,是行不通的,那样的时间复杂度是O(n),利用这个数组是非降序的,可以采用二分法。但是这里与普通的二分查找不同,并不是找数组中有没有k
tan77º
·
2024-02-12 13:09
算法
数据结构
c语言
leetcode
用两个栈实现队列【LeetCode
剑指offer
】
题目:面试题09.用两个栈实现队列思路两个栈,一个size(队列中数据的数量)入队列直接压入栈1,并且size++;出队列时,先判断size是否为0,若size为0,则说明队列空,返回-1;否则直接取出栈2的栈顶元素,若栈2为空,则把栈1的所有元素一次性出栈压入栈2,此时栈2,按顺序弹出则是队列出队列的顺序,先进先出;出队列时,要相应的的size–;实现:classCQueue{Stackstac
江璇Up
·
2024-02-12 08:42
剑指offer题解
面试题09.
用两个栈实现队列
剑指offer
剑指offer
编程题—和为S的两个数字
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。解题思路因为给定的数组是递增有序的,所以这里可以使用双指针技术,两个指针分别指向数组的首和尾,求解过程中两个指针分别向中间移动,具体操作步骤如下:初始化指针lp和rp分别指向数组的首和尾;如果array[lp]+
零岁的我
·
2024-02-12 04:01
《剑指 Offer (第 2 版)》第 62 题:孩子们的游戏(圆圈中最后剩下的数)
《
剑指Offer
(第2版)》第62题:孩子们的游戏
李威威
·
2024-02-12 01:12
5,面经感悟---复习方法 推荐指数 五颗星
刷题的话我自己是牛客上的数据库的sql实战,
剑指offer
,leetcode还有牛客网的选择题。面经的话就
flyingsen
·
2024-02-11 13:18
校招面经
面经
剑指Offer
---出栈顺序的判断正误
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)代码classSolution{public:boolIsPopOrder(vectorp
生若-夏花
·
2024-02-10 20:34
剑指Offer
数据结构
算法
《
剑指Offer
》笔记&题解&思路&技巧&优化 Java版本——新版leetcode_Part_1
《
剑指Offer
》笔记&题解&思路&技巧&优化_Part_1相知相识开始刷题1.LCR120.寻找文件副本——数组中重复元素2.LCR121.寻找目标值-二维数组——二维数组中查找3.LCR122.路径加密
_Matthew
·
2024-02-10 05:24
Leetcode
笔记
java
开发语言
剑指offer
——二维数组中的查找(杨氏矩阵)
目录1.题目描述2.常见错误思路3.分析3.1特例分析3.2规律总结4.完整代码1.题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回true;如果查找数字5,由于数组不含该数字,则返回false。
看落日的YT
·
2024-02-10 03:28
剑指offer
矩阵
算法
面试
Leetcode——链表笔试题
.移除重复节点(乱序)3.1题目描述3.2思路4.Num206反转链表4.1题目描述4.2思路4.2.1方法1创建新链表4.2.2原地移动5.Num876链表的中间节点5.1题目描述5.2两种思路6.
剑指
HH~LL
·
2024-02-10 01:32
笔试题
链表
leetcode
算法
剑指offer
--algorithm (持续更新)
操千曲而识谱,认千剑而知器,学而问者千篇,悟者为上题1---singleton模式该题的本意或者说想要达到的理想目的是:改变一个子类的属性,不管声明多少个新的不同的实例对象,其相应的属性值是一样的在进行编码之前,预备知识有两点,一就是__new_(cls)与_init__(self)之间的区别,二就是super()单线程子类继承用一句话概括就是前者是声明的一个实例,而后者声明的是一个对象,直白的讲
strive鱼
·
2024-02-09 22:59
每日一练(32):左旋转字符串
title:每日一练(32):左旋转字符串categories:[
剑指offer
]tags:[每日一练]date:2022/03/07每日一练(32):左旋转字符串字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部
加班猿
·
2024-02-08 16:30
剑指Offer
:17-树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路实现/*structTreeNode{intval;structTreeNode*left;structTreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};*/classSolution{public:boolHasSubt
jackmxp
·
2024-02-08 01:43
2021-09-23
IT1.LeetCode力扣:在排序数组中查找数字I2021-09-23(
剑指Offer
53-I.在排序数组中查找数字I)2.《
剑指offer
》:p257~p265英语1.墨墨背单词:复习50个单词
幸福大黑鸭
·
2024-02-07 21:35
剑指offer
第二版(PDF+源码) 百度云
链接:https://pan.baidu.com/s/1b6ZxVIBvjPfKifToh_h26Q密码:6t76https://github.com/zhedahht/ChineseCodingInterviewAppendix(代码)
人大神成长记2
·
2024-02-07 11:08
剑☞offer
python_ACM模式《
剑指offer
刷题》二叉树2
题目:面试tips:面试官有可能问到:如果你需要频繁地查找第k小的值,你将如何优化算法?(见思路三)思路:思路一:二叉搜索树最大的特点就是中序遍历是递增的。因此最容易想到的是对二叉树进行中序遍历存入数组中,再遍历数组至第k个数,就是二叉树的第k小的数/节点。这样的时间复杂度就是O(N+K),空复为O(N)。显然不是最优。思路二:在思路一的基础上不采用数组,直接对二叉搜索树进行中序遍历,在遍历的过程
cuier520
·
2024-02-07 10:33
剑指offer练习
算法
[英雄星球七月集训LeetCode解题日报] 第14日 栈
[英雄星球七月集训LeetCode解题日报]第14日栈日报题目一、1614.括号的最大嵌套深度1.题目描述2.思路分析3.代码实现二、
剑指Offer
06.从尾到头打印链表1.题目描述2.思路分析3.代码实现三
七水shuliang
·
2024-02-07 09:53
英雄星球七月集训
今天开刷leetcode
leetcode
链表
算法
力扣题解:剑指 Offer 27. 二叉树的镜像
题目
剑指Offer
27.二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。
胡矣
·
2024-02-07 04:41
算法
LeetCode
leetcode题解
力扣题解
链表排序
二叉树镜像
二叉树
力扣
剑指Offer
27.二叉树的镜像题解
题目链接:
剑指Offer
27.二叉树的镜像题目解析:所谓镜像是指如果左边是原二叉树,右边是镜像二叉树,那么向中间对折可以完全重合解题思路:所有结点的左右子树对换解题例子:镜像后的结果:步骤:1.将根节点左右子树交换
kong_and_white
·
2024-02-07 04:09
算法设计与分析
算法
二叉树
剑指offer
编程题—对称的二叉树
题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。解题思路:递归思想实现,首先分两种情况进行考虑:树为空,直接返回true;树不为空,则转去判断左子树和右子树是否对称,分以下两种情况进行讨论:a.左子树和右子树都为空,直接返回true;b.左子树和右子树都不为空,并且左子树和右子树根节点的值相等,递归判断左子树的左子树和右子树的右
零岁的我
·
2024-02-06 22:45
2021-09-02
IT1.LeetCode力扣:从上到下打印二叉树III2021-09-02(
剑指Offer
32-III.从上到下打印二叉树III)2.
幸福大黑鸭
·
2024-02-06 14:29
剑指Offer
:59-按之字形顺序打印二叉树
题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路实现vector>res;if(!pRoot)returnres;queueq;q.push(pRoot);while(!q.empty()){intlen=q.size();vectortmp;for(inti=0;ival);if(root
jackmxp
·
2024-02-06 05:52
[
剑指offer
] 字符流中第一个不重复的字符
本文首发于我的个人博客:尾尾部落题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。解题思路用一个哈希表来存储每个字符及其出现的次数,另外用一个字符串s来保存字符流中字符的顺序。每次插入的时候,在字符串s中插入该字符,然后在哈希表中
繁著
·
2024-02-06 03:45
2021-09-28
IT1.LeetCode力扣:平衡二叉树2021-09-28(
剑指Offer
55-II.平衡二叉树)2.《
剑指offer
》:p273~p275英语1.墨墨背单词:复习50个单词
幸福大黑鸭
·
2024-02-05 23:45
反转字符串II●
剑指Offer
05.替换空格● 151.翻转字符串里的单词●
剑指Offer
58-II.左旋转字符串
344.反转字符串。就头和尾相对移动交换就行。交换用swap()函数,也可以用中间量自己写。一个函数实现反转就是:voidreverse(string&s,intf,inte){if(f=s.size()||e>=s.size()){return;}for(inti=f;i=s.size()||e>=s.size()){return;}for(inti=f;i=0&&s[c]=='')c--;s.
孤馆深沉
·
2024-02-05 17:10
c++
算法
两个队列实现一个栈
《
剑指offer
》面试题9(相关题目):两个队列实现一个栈。
打工这件小事
·
2024-02-05 12:38
剑指offer
offer03数组中的重复数字题目描述:找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2,3,1,0,2,5,3]输出:2或3我的思路:一.用字典。存在的问题:①一开始字典并未赋值,所以不能用if(dic[nums[i]]!=null
RussellW0
·
2024-02-04 20:57
数据结构
c#
OJ刷题:《
剑指offer
》之单身狗1、2 !(巧用位操作符,超详细讲解!)
目录1.单身狗11.1题目描述1.2排序寻找1.3巧用位操作符2.单身狗21.1题目描述1.2排序寻找1.3巧用位操作符不是每个人都能做自己想做的事,成为自己想成为的人。克心守己,律己则安!创作不易,宝子们!如果这篇文章对你们有帮助的话,别忘了给个免费的赞哟~1.单身狗11.1题目描述在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字。例如:数组中有:123
秋风起,再归来~
·
2024-02-04 16:18
初阶C语言刷题
算法
leetcode刷题(
剑指offer
)113.路径总和Ⅱ
113.路径总和Ⅱ给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。叶子节点是指没有子节点的节点。示例1:输入:root=[5,4,8,11,null,13,4,7,2,null,null,5,1],targetSum=22输出:[[5,4,11,2],[5,8,4,5]]示例2:输入:root=[1,2,3],targetSum
花里胡哨的菜只因
·
2024-02-04 13:57
leetcode
算法
职场和发展
leetcode刷题(
剑指offer
)138.随机链表的复制
138.随机链表的复制给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。
花里胡哨的菜只因
·
2024-02-04 13:57
leetcode
链表
算法
leetcode刷题(
剑指offer
) 297.二叉树的序列化和反序列化
297.二叉树的序列化与反序列化序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列/反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。提示:输入输出格式与
花里胡哨的菜只因
·
2024-02-04 12:55
leetcode
linux
服务器
java经典面试题基础篇(持续更新算法)
文章目录一.基础算法1.1两数相加1.2无重复字符的最长子串1.3输出二叉树1.4
剑指Offer
04.二维数组中的查找1.5
剑指Offer
07.重建二叉树5.1思考:5.1.1前序遍历+中序遍历5.1.2
最难不过坚持丶渊洁
·
2024-02-04 12:33
Java体系
java
leetcode
链表
java数据结构与算法刷题-----LeetCode15. 三数之和
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-02-04 08:53
算法
java
算法
leetcode
链表
[
剑指offer
] 不用加减乘除做加法
本文首发于我的个人博客:尾尾部落题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。解题思路用位运算来实现。step1:进行异或运算,计算两个数各个位置上的相加,不考虑进位;step2:进行位与运算,然后左移一位,计算进位值;step3:把异或运算的结果赋给num1,把进位值赋给num2,依此循环,进位值为空的时候结束循环,num1就是两数之和。参考代码publi
繁著
·
2024-02-04 03:59
Leetcode-3--递归、DFS、回溯
Leetcode--回溯、进制运算递归24两两交换链表143重排链表98验证二叉搜索树1796不同的二叉搜索树二叉树展开成链表回溯22括号生成39组合总和40组合总和216组合总和46排列47全排列⭐️
剑指
NKidult
·
2024-02-03 23:20
Leetcode
终于结束年前算法篇的计划了!!!
花了差不多一个月终于在年前刷完了:代码随想录+
剑指offer
||的所有题目了,这一路刷过来还是感觉不容易的最开始一天7到8题,到后面遇见熟练类型的题目一天可以写16到18题,个人感觉最难的部分还是贪心,
学心理学的猫
·
2024-02-03 21:25
经验分享
剑指offer
第二版(101——119)(全部完结)
剑指Offer
II101.分割等和子集boolcanPartition(vector&nums){intsum=0;for(inti=0;i=nums[i-1];j--){//cout&nums){intsum
学心理学的猫
·
2024-02-03 21:54
剑指向offer
算法
c++
开发语言
关于LeetCode测试正确一提交就错的解决方法
下图是错误的下图是正确的题目是:t
剑指Offer
II015.字符串中的所有变位词错误代码如下classSolution{public:vectorfindAnagrams(strings,stringp
学心理学的猫
·
2024-02-03 21:24
leetcode
算法
职场和发展
python_ACM模式《
剑指offer
刷题》链表4
题目:面试tips:询问是否需要判断环,可微调下方代码。思路:思路一:判断环是否存在:设定一快一慢指针,均从头节点出发,快指针一次走两步,慢指针一次走一步。若无环,则快指针会先到达空,返回False表示无环;若有环,则快慢指针必定相遇。前者无环快指针先到达空节点好理解,后者有环为什么快慢指针必定相遇呢?这里提供两种理解方式。理解①:理解②:设慢指针刚进入环的第一个节点时,快指针(此时必定在环中)与
cuier520
·
2024-02-03 21:30
剑指offer练习
链表
数据结构
python_ACM模式《
剑指offer
刷题》二叉树1
题目:面试tips:1.询问是否可以使用双端队列(看后面思路就可知为什么要问这个)思路:时复和空复都为O(n)思路一:利用双端队列。总体思想是利用二叉树层序遍历(二叉树的层序遍历就是用队列dq,且从左往右每一层存入队列中),但这里的双端队列使用在path中,即存储路径path时,遇到奇数列,从dq中读出来的节点进行尾插入path;遇到偶数列,从dq中读出来的节点进行头插入。例如:层序遍历对上述二叉
cuier520
·
2024-02-03 21:27
剑指offer练习
python
开发语言
剑指Offer
--从头到尾打印链表
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。#-*-coding:utf-8-*-#classListNode:#def__init__(self,x):#self.val=x#self.next=NoneclassSolution:#返回从尾部到头部的列表值序列,例如[1,2,3]defprintListFromTailToHead(self,listNode):#write
lazydecoder
·
2024-02-03 20:15
2021-10-13
IT1.LeetCode力扣:构建乘积数组2021-10-13(
剑指Offer
66.构建乘积数组)2.《
剑指offer
》:p312~p315英语1.墨墨背单词:复习50个单词
幸福大黑鸭
·
2024-02-03 19:44
上一页
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
其他