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
面试题10 二进制中1的个数
考察点位运算知识点位运算针对二进制位进行运算,包括(&)与运算,(|)或运算,(^)异或运算,(~)取反,(>)右移位,(>>>)无符号右移运算与运算:0&0=0,0&1=0,1&0=0,1&1=1或运算:0|0=0,0|1=1,1|0=1,1|1=1异或:0^0=0,0^1=1,1^0=0,1^1=0左移:m>n表示m右移n位,最左边补符号位,右移1位相当于除以2无符号右移:m>>>n表示m无符
wellwang1993
·
2024-01-29 06:50
java
leetcode
算法
数据结构
面试
python每日一题【剑指 Offer 68 - I. 二叉搜索树的最近公共祖先】【剑指 Offer 68 - II. 二叉树的最近公共祖先】
2022.12.03题目信息来源作者:Krahets链接:https://leetcode.cn/leetbook/read/illustration-of-algorithm来源:力扣(LeetCode)
剑指
piukaty
·
2024-01-29 02:37
leetcode_python
python
leetcode
算法
python每日一题【剑指 Offer 38. 字符串的排列】【剑指 Offer 55 - II. 平衡二叉树】
2022.12.01题目信息来源作者:Krahets链接:https://leetcode.cn/leetbook/read/illustration-of-algorithm来源:力扣(LeetCode)
剑指
piukaty
·
2024-01-29 02:06
leetcode_python
python
leetcode
算法
python_ACM模式《
剑指offer
刷题》链表2
题目:例如面试tips:询问有无时间复杂度或空间复杂度的限制。思路:本题的本质就是复杂链表的深拷贝1.暴力解法→第一次遍历原链表时构建一个复制了next的新链表,第二次遍历原链表,对每个原链表的节点的random从头寻找,同时同步在新链表寻找,即可找到复制链表每个节点的random。时复O(N^2),空复O(1)2.用空间换取时间,利用哈希表。在第一次遍历原链表时存储(原链表节点,新链表节点)的映
cuier520
·
2024-01-28 19:27
剑指offer练习
链表
数据结构
python_ACM模式《
剑指offer
刷题》链表3
题目:注意:
剑指offer
上对这道题目的描述是给定的删除节点是节点指针。这表明这道题可以用时间复杂度为O(1)的方式解决。
cuier520
·
2024-01-28 19:26
剑指offer练习
链表
数据结构
剑指offer
-二叉搜索树的后续遍历序列
题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。举例二叉搜索树难点坑点这道题主要的难点是二叉树的后续遍历的关系,我们可以看到二叉树的根节点一定是序列的最后一个数据;所以此序列满足条件,注意二叉树为空时要返回falseclassSolution{public:boolVerifySquenceOfBS
yyming
·
2024-01-28 17:53
<
剑指offer
>面试题52:两个链表的第一个公共节点
题目描述输入两个链表,找出它们的第一个公共节点。题目解读方法一就是蛮力法,分别遍历第一个链表的每个结点和第二个链表的所有结点进行比较,遍历第二个链表的每个结点和第一个链表的所有结点进行比较。时间复杂度为O(mn).方法二:若两个单向链表有公共节点,则说明这两个链表从某一个节点开始,它们的后继节点都指向同一个节点。因为每个单向链表的节点都只有一个后继节点,故从第一个公共节点开始,它们所有的节点都是重
潘雪雯
·
2024-01-28 17:05
剑指Offer
16.数值的整数次方 快速幂+ 递归
题目实现pow(x,n),即计算x的n次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。示例1:输入:x=2.00000,n=10输出:1024.00000示例2:输入:x=2.10000,n=3输出:9.26100示例3:输入:x=2.00000,n=-2输出:0.25000解释:2-2=1/22=1/4=0.25提示:-100.00?quickMul(x,N):1.0/quickM
HotRabbit.
·
2024-01-28 16:10
#
剑指offer
leetcode
算法
职场和发展
【
剑指Offer
】16-20题(快速幂实现pow()+递归全排列生成1-9999(n个9)+删除链表的节点+字符串DP+暴力解决表示数值的字符串)
文章目录数值的整数次方非递归递归打印从1到最大的n位数删除链表的节点拓展:删除排序链表中的重复元素正则表达式匹配表示数值的字符串数值的整数次方
剑指Offer
16.数值的整数次方-力扣(LeetCode)
喜欢乙醇的四氯化碳
·
2024-01-28 16:38
剑指offer
链表
深度优先
数据结构
动态规划
算法
java数据结构与算法刷题-----LeetCode328. 奇偶链表
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-28 14:33
算法
java
链表
算法
leetcode
java数据结构与算法刷题-----LeetCode242. 有效的字母异位词
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-28 14:03
算法
java
哈希算法
散列表
算法
leetcode
每日一练(20):数组中出现次数超过一半的数字
title:每日一练(20):数组中出现次数超过一半的数字categories:[
剑指offer
]tags:[每日一练]date:2022/02/16每日一练(20):数组中出现次数超过一半的数字数组中有一个数字出现的次数超过数组长度的一半
加班猿
·
2024-01-28 13:02
二叉树层序遍历(广度优先搜索)基础概念与经典题目(Leetcode题解-Python语言)
剑指Offer
32-I.从上到下打印二叉树importcollections#leetcode里面可以去
cnhwl
·
2024-01-28 11:44
二叉树
指针
列表
队列
python
剑指offer
——打印从1到最大的n位数
题目描述:输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数999.1、用返回一个整数列表来代替打印2、n为正整数示例:输入:1返回值:[1,2,3,4,5,6,7,8,9]思路及解答:用Math.pow(10,n)-1取出最大的边界条件Java实现代码如下所示:importjava.util.*;publicclassSolution{public
浅亦予
·
2024-01-28 10:59
剑指offer刷题
算法
leetcode
职场和发展
数据结构
intellij-idea
开发语言
java
剑指offer
——数值的整数次方
题目描述:给定一个double类型的浮点数base和int类型的整数exponet。求base的exponet次方。保证base和exponet不同时位0。示例1:输入:2.00000,3返回值:8.00000示例2:输入:2.10000,3返回值:9.26100思路及解答:如果使用暴力解法,就是不断相乘,对于负数而言,则是相除,并且符号取反。Java代码实现如下所示:publicclassSol
浅亦予
·
2024-01-28 10:58
剑指offer刷题
算法
数据结构
java
开发语言
leetcode
职场和发展
intellij-idea
剑指offer
——删除链表的节点
题目描述:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。数据范围:01->9示例2:输入:{2,5,1,9},1返回值:{2,5,9}说明:给定链表中值为1的第三个节点,那么在调用了你的函数之后,该链表应变为2->5->9思路及解答:如果我们要删除链表里面的一个节点,其实就是将前置节点的next直接指向当前节点的后置节点,这样在链表中再也找不到该节点
浅亦予
·
2024-01-28 10:57
剑指offer刷题
链表
算法
数据结构
leetcode
intellij-idea
开发语言
java
java数据结构与算法刷题-----LeetCode725. 分隔链表
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-27 20:53
算法
java
链表
算法
leetcode
java数据结构与算法刷题-----LeetCode24. 两两交换链表中的节点
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-27 20:52
算法
java
链表
算法
leetcode
java数据结构与算法刷题-----LeetCode19. 删除链表的倒数第 N 个结点
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-27 20:52
算法
java
链表
数据结构
leetcode
算法
java数据结构与算法刷题-----LeetCode445. 两数相加 II
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-27 20:51
算法
java
算法
leetcode
矩阵螺旋遍历001
遍历
剑指offer
同一个题姐妹篇3、思路二维数组遍历,设计一个标记,记录是否遍历过了然后贪吃蛇一样搞一个蛇头,按当前方向前行,遇到边界就变向使用宏定义方式更方便阅读变向时候的边界细节处理,先遍历到边界外
answer_yym
·
2024-01-27 20:41
数组
practice
《
剑指offer
第二版》面试题35:复杂链表的复制(java)
题目描述题目描述:复制一个复杂链表,在复杂链表中,每个节点除了有一个next指针指向下一个节点,还有一个sibling指针指向链表中的任意节点或者null。解题思路:原始链表为:A(C)->B(E)->C(null)->D(B)->E(null)复制原始链表节点N,创建N',并将N'链接到N的后边,链表变为:A(C)->A'(null)>B(E)->B'(null)->C(null)->C'(nu
castlet
·
2024-01-27 18:38
动态规划算法详解——三大基本要素、解题步骤、算法优化和例题详解
目录1动态规划思想2适用场景3动态规划的三大基本要素4解题步骤5例题分析5.1斐波拉契数列5.1.1递归法求解5.1.2动态规划求解5.2
剑指offer
42连续子数组的最大和3.1示例1:42.接雨水1
周一写bug,bug改一周
·
2024-01-27 14:36
数据结构与算法
算法
动态规划
数据结构
java
代码随想录算法训练营第8天|字符串1 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字 151.翻转字符串里的单词 卡码网:55.右旋转字符串
目录344.反转字符串知识点541.反转字符串II思路总结卡码网:54.替换数字拓展151.翻转字符串里的单词(没有很掌握思路基础语法知识卡码网:55.右旋转字符串参考之前做过的
剑指offer
的基础解法看本题文章讲解后
芋泥肉松脑袋
·
2024-01-27 13:32
算法
数据结构
java
leetcode刷题 链表相关 python
链表相关python—————
剑指offer
—————easy1)JZ6从尾到头打印链表2)JZ24反转链表3)JZ25合并两个排序的链表4)JZ52两个链表的第一个公共结点5)JZ23链表中环的入口结点
wordplay_
·
2024-01-27 11:40
leetcode
python
leetcode刷题 链表 C++ 23个(
剑指offer
8个)
remove-duplicates-from-sorted-list82.删除排序链表中的重复元素IIremove-duplicates-from-sorted-list-ii206.反转链表:reverse-linked-list
剑指
along_0
·
2024-01-27 11:40
leetcode
刷题
C++
【数据结构】 ——删除链表中的重复节点(不保留重复节点)
删除链表中的重复节点(不保留重复节点)(
剑指offer
上面对这个题难度是4(总共五颗星),我寻思着,是我最近进步了?
Rea0916
·
2024-01-27 06:37
数据结构
牛客力扣习题分析
链表
数据结构
Leetcode-树的遍历
平衡二叉树q114二叉树展开为链表q124二叉树中的最大路径和q144二叉树的前序遍历q145二叉树的后序遍历q297二叉树的序列化与反序列化q543二叉树的直径q617合并二叉树q1367二叉树中的链表
剑指
jenrain
·
2024-01-27 00:24
LeetCode
leetcode
剑指offer
———矩阵中的路径
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。注意:输入的路径不为空;所有出现的字符均为大写英文字母;数据范围矩阵中元素的总个数[0,900][0,900]。路径字符串的总长度[0,900][0,900]。样例ma
璀璨的秋叶
·
2024-01-26 23:52
剑指offer
c语言
c++
算法
数据结构
剑指offer
——二进制中1的个数
题目描述:输入一个整数,输出该数32位二进制中1的个数,其中负数用补码表示。示例1:输入:10返回值:2说明:十进制中10的32位二进制表示为00000000000000000000000000001010,其中有两个1。示例2:输入:-1返回值:32说明:负数使用补码表示-1的32位二进制表示为11111111111111111111111111111111,其中有32个1思路及解答:直接调用J
浅亦予
·
2024-01-26 23:22
剑指offer刷题
leetcode
算法
职场和发展
数据结构
java
开发语言
intellij-idea
剑指offer
——重建二叉树
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路及解法:递归栈递归解决:在保证数据正确性的前提下,前序的第一个数值是root节点,即上图中的1,那么我们需要在中序遍历中找到1的位置,左边的就是roo
浅亦予
·
2024-01-26 23:21
剑指offer刷题
算法
数据结构
职场和发展
intellij-idea
java
leetcode
eclipse
剑指offer
——机器人的运动范围
题目描述:地上有一个m行和n列的方格。一个机器人从坐标(0,0)的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7=18。但是,它不能进入方格(35,38),因为3+5+3+8=19。请问该机器人能够达到多少个格子?示例1:输入:5,10,10返回值:21输入:10,
浅亦予
·
2024-01-26 23:21
剑指offer刷题
链表
数据结构
leetcode
职场和发展
算法
java
开发语言
剑指offer
——剪绳子
题目描述:给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,mmax){max=temp;}}nums[i]=max;}returnnums[target];}}采用动态规划的方法来解题:假设绳子长度为n的最大的长度为f(n),那么如何计算f(n)?f(n)可能是n,不切分的情况下f(n)可能是f(n-1)和f(1)的乘积f(n)可能是f(n-2)和f(2)的乘积
浅亦予
·
2024-01-26 23:21
剑指offer刷题
算法
java
开发语言
数据结构
leetcode
intellij-idea
动态规划
剑指Offer
——矩阵中的路径
剑指Offer
——矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。
Ga_Lip
·
2024-01-26 23:50
数据结构与算法
剑指offer
——二维数组中的查找(从左下角开始比较)
题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:依题可知,该二维数组是一个从左到右,从上到下的一个有序数组,所以,当我们假设有一个N×N的矩阵时,左下角的值一定比它所在的行值都小,比它所在的列值都大。因此,我们将目标值target与该值进行
浅亦予
·
2024-01-26 23:50
剑指offer刷题思路拓展精讲
算法
数据结构
leetcode
visual
studio
code
学习
intellij-idea
剑指offer
——从尾到头打印链表
题目描述:输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。比如下面的链表:返回的数组为[3,2,1]思路及解答:使用栈使用递归调用使用头插法借助栈实现:先把元素里面的元素从头到尾遍历取出放在栈里面,然后再把栈的元素去出来放在ArrayList里面。主要利用了栈的先进后出的规则,这样就可以实现倒序的功能。首先是栈的初始化定义:publicclassListNode{intv
浅亦予
·
2024-01-26 23:50
剑指offer刷题
链表
数据结构
leetcode
职场和发展
算法
java
intellij-idea
剑指offer
——矩阵中的路径C++
dfs+回溯。此处回溯的思想大概就是自动回溯?1.char*和string可以直接比较。2.bool数组必须手动fill,不然不是全为false的。3.传输组,形参要写数组,实参写数组名,因为相当于传一个指针,所以回改变实参的值。classSolution{public://此字符串不是二级指针,不会改变原来的值,所以不用erase尾部//传的是一个数组,其实相当于传进去一个指向数组首部地址的指针
baixiaofei567
·
2024-01-26 23:19
剑指Offer
#
图
#
回溯算法
字符串
dfs
回溯算法
剑指offer
剑指offer
——矩阵中的路径(12题)
题目:设计一个函数,用来判断在一个矩阵中是否存在一条包含某字条串所有字条的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。此题与八皇后一样,是一道典型的“回溯法”应用题型。参考作者的解题思想,给出自己的所写的代码:#include#include#includeusingnamespacestd;boo
TT_love9527
·
2024-01-26 23:19
面试&&笔试
剑指offer
回溯法
剑指offer
——矩阵中的路径
题目描述:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。例如矩阵:$$\begin{matrix}a&b&c&e\s&f&c&s\a&d&e&e\end{matrix}$$中包含一条字符串"bcced"的路径,但是矩
浅亦予
·
2024-01-26 23:47
矩阵
开发语言
职场和发展
leetcode
visual
studio
code
intellij-idea
java
《
剑指offer
第二版》面试题8:二叉树的下一个节点(java)
题目描述给定一颗二叉树和其中的一个节点,如何找出中序遍历的下一个节点?树中节点除了有两个分别指向左、右子节点的指针,还有一个指向父节点的指针。解题思路:以如下二叉树为例,中序遍历为{d,b,h,e,i,a,f,c,g},给定的二叉树节点用A表示。a/\bc/\/\defg/\hi如果A有右子树,那它的下一个节点是右子树里最左节点。如果A没有没有右子树,并且A是A的父节点的左节点,那它的下一个节点就
castlet
·
2024-01-26 21:36
Day21 从上到下打印二叉树 + 复杂链表的复制 + 数组中数字出现的次数 II
一、
剑指Offer
32-III.从上到下打印二叉树III(中等)方法一自己搞的最朴素的方法,层序遍历classSolution{public:vector>levelOrder(TreeNode*root
吃掉夏天的怪物
·
2024-01-26 20:00
Leetcode—
剑指Offer
LCR 083. 全排列【中等】
2023每日刷题(一零二)Leetcode—LCR083.全排列实现代码classSolution{public:vector>permute(vector&nums){vector>ans;intn=nums.size();functiondfs=[&](inti){if(i==n){ans.emplace_back(nums);return;}for(intj=i;j
源代码•宸
·
2024-01-26 18:35
LeetCode刷题
leetcode
算法
职场和发展
c++
经验分享
回溯
dfs
算法开篇-大纲
学习算法绕不开的一个网站应该就是LeetCode了,在刷力扣之前,是查过网上一些牛人的
刷题心得
的,大致总结下应该会有这几种:1、上来直接顺着题号开刷;2、查询热点TOP题型开刷;3、有牛人总结题号开刷;
shiZ_baiZ
·
2024-01-26 14:11
剑指Offer
——奇数都在偶数前 Java
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题思路课本解题思路基本思想:扫描数组,如果发现偶数出现在奇数前面就交换他们。细化操作:扫描采用两个指针,一个从左向右的i有个从右向左j,i指针只判断是否为偶数,j指针判断是否为奇数当i指向偶数,j指向奇数就交换他们(卧槽,
Mereder
·
2024-01-26 11:31
剑指offer
----栈的压入弹出顺序
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)代码:importjava.util.ArrayList;importjava.util.Sta
qming_c
·
2024-01-26 10:37
剑指Offer
:38-二叉树的深度
题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路实现/*structTreeNode{intval;structTreeNode*left;structTreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};*/classSolution{pub
jackmxp
·
2024-01-25 23:12
java数据结构与算法刷题-----LeetCode565. 数组嵌套
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-25 19:38
算法
java
算法
leetcode
java数据结构与算法刷题-----LeetCode769. 最多能完成排序的块
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-25 19:35
算法
java
算法
排序算法
leetcode
2019-09-11[
剑指offer
-]按之字型顺序打印二叉树
题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。/*structTreeNode{intval;structTreeNode*left;structTreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};*/classSolu
Coding破耳
·
2024-01-25 19:35
java数据结构与算法刷题-----LeetCode766. 托普利茨矩阵
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-25 13:49
算法
java
矩阵
算法
leetcode
上一页
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
其他