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算法详解
HashMap中为什么数组的长度为2的幂次方
Java中HashCode
算法详解
Java中的集合,比如HashMap/HashSet/HashTable在实现上都用到了hashCode算法,用来计算元素在数组中的位置。
程序员牛牛
·
2024-01-06 02:11
2020-02-21时间记录
综合类-技术之瞳算法类-
剑指Offer
、前端面试题做好总结,算法先从简单的刷起。各个方面都可以同时进行。以免后面来不及时间记录:(1)7:40-9:36划水起床刷牙洗脸(2)9:36-10:00吃饭
296b871d5cd0
·
2024-01-06 00:12
剑指offer
-Python版(上)
剑指offer
上面的66道算法题是面试高频题,书中用C/C++写的答案,本篇笔记用python刷一遍所有的算法题,用于面试准备。题号顺序是牛客网上的顺序,答案都是牛客网编译通过的。
生信师姐
·
2024-01-06 00:31
剑指offer
08:二叉树的下一个节点
一、问题给定一个二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别指向左右子节点的指针,还有一个指向父节点的指针。示例输入:inorder=[9,3,15,20,7],node=9输出:20image二、解法解法一思路:中序遍历的栈实现首先通过遍历当前节点的父节点找出根节点然后中序遍历找出node节点的下一个节点具体实现:java/***中序遍历的下一个节点*@pa
Quintanliu
·
2024-01-05 23:26
LeetCode-105. 从前序与中序遍历序列构造二叉树
例如,给出前序遍历preorder=[3,9,20,15,7]中序遍历inorder=[9,3,15,20,7]返回如下的二叉树:3/\920/\157
剑指offer
原题,值得细细品味,特别经典的利用递归构造二叉树题目
边界流浪者
·
2024-01-05 22:35
算法
C++
LeetCode
LeetCode
构造二叉树
前序遍历
中序遍历
震惊!双指针解决链表百分之百的问题!
141】题目表述解法:快慢指针相遇问题四、环形链表返回头节点【力扣142】题目表述解法五、相交链表【力扣160】题目表述解法:相遇大佬算法六、反转链表【力扣206】题目表述解法六-1、从尾到头打印链表【
剑指
大左不想摆烂
·
2024-01-05 18:56
力扣刷题
1024程序员节
剑指Offer
:58-对称的二叉树
题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路实现/*structTreeNode{intval;structTreeNode*left;structTreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};*/classSolution{public:b
jackmxp
·
2024-01-05 15:10
剑指offer
_替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy。思路:1、新存一个字符串,遍历原字符串,遇到空格就把"%20"加进去,没有遇到就把旧的字符串中的字符加进入2、但是如果面试要求我们在原字符串上进行操作可以先遍历原字符串,找出空格字符的个数,每个空格字符替换掉就相当于增加了两个字符的长度。
彼得朱
·
2024-01-05 15:25
别人看的书,拿来参考
-strousstrup未看Effectivec++未看MoreEffectivec++未看c++primerc++沉思录未看stl源码剖析未看c专家编程未看c缺陷与陷阱未看程序员面试宝典编程珠玑未看
剑指
weixin_33750452
·
2024-01-05 09:15
c/c++
驱动开发
移动开发
【MySQL用户管理】
目录:前言用户管理创建用户删除用户修改用户密码修改用户密码安全检测设置用户权限添加权限回收权限总结前言
剑指offer
:一年又13天用户管理mysql>showdatabases;+-----------
胜利熊猫
·
2024-01-05 07:47
MySQL
mysql
数据库
算法技巧-位运算
位操作经典题目:37.解数独这题的位运算有点秀
剑指Offer
15.二进制中1的个数LCOF类似于Integer.bitCount()的功能代替数组用来表示字符出现与否/出现次数是奇数还是偶数模拟小写字典字符
桃桃沙弥
·
2024-01-05 03:58
算法(21)-leetcode-
剑指offer
5
leetcode-
剑指offer
-443.面试题43-1~n整数中1出现的次数44.面试题44-数字序列中某一位的数字45.面试题45-把数组排成最小的数-快排变种46.面试题46-把数字翻译成字符串47
小陈同学-陈百万
·
2024-01-04 23:11
算法题
【LeetCode-
剑指offer
】-- 24.反转链表
24.反转链表/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val=val;this.next=next;}*}*/classS
小d<>
·
2024-01-04 23:10
#
剑指offer
leetcode
算法
【LeetCode-
剑指offer
】-- 21.删除链表的倒数第N个结点
21.删除链表的倒数第N个结点方法:计算链表长度/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val=val;this.next
小d<>
·
2024-01-04 23:10
#
剑指offer
leetcode
算法
LeetCode--链表篇
链表相关题目一、
剑指Offer
06.从尾到头打印链表二、160.相交链表三、反转链表四、合并两个有序链表五.19.删除链表的倒数第N个结点六.24.两两交换链表中的节点七.445.两数相加II八.234
Free的午后
·
2024-01-04 23:40
leetCode
指针
数据结构
算法
leetcode
链表
【LeetCode-
剑指offer
】--19.验证回文串II
19.验证回文串II方法:双指针首先考虑如果不允许删除字符,如何判断一个字符串是否是回文串。常见的做法是使用双指针。定义左右指针,初始时分别指向字符串的第一个字符和最后一个字符,每次判断左右指针指向的字符是否相同,如果不相同,则不是回文串;如果相同,则将左右指针都往中间移动一位,直到左右指针相遇,则字符串是回文串在允许最多删除一个字符的情况下,同样可以使用双指针,通过贪心实现。初始化两个指针low
小d<>
·
2024-01-04 23:40
#
剑指offer
leetcode
算法
相交链表(
剑指offer
52)
1.题目原题链接
剑指Offer
52.两个链表的第一个公共节点编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点c1开始相交。
知北行
·
2024-01-04 23:09
算法
剑指offer
链表
链表
数据结构
java
【Golang】LeetCode-
剑指Offer
-面试题52-两个链表的第一个公共节点【两种解法】
题目输入两个链表,找出它们的第一个公共节点。公共节点不是指节点的值相同,而是两条链中的节点在同一个内存地址。如下面的两个链表:在节点c1开始相交。示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,skipB=3输出:Referenceofthenodewithvalue=8输入解释:相交节点的值为8(注意,如果两
士多啤梨先生
·
2024-01-04 23:39
LeetCode力扣个人题解
链表
leetcode
go
golang
面试
LeetCode-剑指 Offer 题目集
33、34、36、37、38、38、43VS44、47、48、53-II、54、55-II、57-II、59-II、63、68-II题号题目题解链接标签备注遍数03数组中重复的数字【LeetCode-
剑指
白露塞纳
·
2024-01-04 23:35
单例模式
java
开发语言
leetcode-剑指 Offer 52. 两个链表的第一个公共节点
leetcode-
剑指Offer
52.两个链表的第一个公共节点输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点c1开始相交。
ITAK_fans
·
2024-01-04 23:35
剑指offer
链表
指针
LeetCode-剑指 Offer 52-两个链表的第一个公共节点
剑指Offer
52.两个链表的第一个公共节点题目说明输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点c1开始相交。
LQZme
·
2024-01-04 23:35
LeetCode
剑指Offer
链表
【LeetCode-
剑指offer
】-- 23.相交链表
23.相交链表方法一:哈希集合/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(intx){*val=x;*next=null;*}*}*/publicclassSolution{publicListNodegetIntersectionNode(ListNodeheadA
小d<>
·
2024-01-04 23:04
#
剑指offer
leetcode
链表
算法
K8s 源码剖析及debug实战之 Kube-Scheduler(五):优选
算法详解
文章目录0.引言1.回顾2.PrioritizeNodes3.有哪些优选算法4.selectHost5.总结6.参考0.引言欢迎关注本专栏,本专栏主要从K8s源码出发,深入理解K8s一些组件底层的代码逻辑,同时借助debugMinikube来进一步了解K8s底层的代码运行逻辑细节,帮助我们更好了解不为人知的运行机制,让自己学会如何调试源码,玩转K8s。本专栏适合于运维、开发以及希望精进K8s细节的
Smaller、FL
·
2024-01-04 19:30
K8s源码剖析及debug实战
kubernetes
算法
容器
k8s
寻找目标值(二维数组中的查找),
剑指offer
04,力扣
力扣原题地址:LCR121.寻找目标值-二维数组-力扣(LeetCode)今天刷寻找目标值(二维数组中的查找),大家有兴趣可以点上看看题目要求,试着做一下。我们直接看题解吧:方法2,利用二叉搜索树审题目+事例+提示:题目意思是这个二维数组每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序思路(二叉搜索树):根节点对应的元素是左下角与右上角的两个元素,若以左下角为例:1、从左下角
大数据SQLboy
·
2024-01-04 18:50
剑指offer
#
数组
算法
数据结构
剑指Offer
|| 054.把二叉搜索树转换为累加树
题目给定一个二叉搜索树,请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左右子树也必须是二叉搜索树。示例1:输入:root=[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]输出:[30,36,21,36,35,26,
Mar_mxs
·
2024-01-04 18:49
leetcode刷题
深度优先
算法
聚类
算法详解
K-maens&DBSCAN与分类、回归任务不同,聚类任务事先并不知道任何样本标签,通过数据之间的内在关系把样本划分为若干类别,使得同类别之间的相似度高,不同类别之间的样本相似度低。K-means基本思想K-means算法的基本思想是,通过迭代寻找K个簇(Clusterd)的一种划分方案,使得聚类结果对应的损失函数最小。其中,损失函数可以定义为各个样本距离所属簇中心点的误差平方和:J(c,μ)=∑
alstonlou
·
2024-01-04 17:37
算法
聚类
机器学习
《
剑指offer
》数学第一题:数值的整数次方
题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。思路:给定一个浮点数求它的整数次方。要考虑到所有的情况,关于指数,如果是0,则结果是1;指数是1,结果是base;指数是-1,结果是1.0/base。我们在计算一个数的多次幂时,可以先判断其幂次的奇偶性,然后:如果幂次为偶直接base(底数)作平方,power(幂次)除以2。如果
y6533
·
2024-01-04 13:30
算法
java
数据结构
《
剑指offer
》 递归和循环第四题:
题目描述:我们可以用2X1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2X1的小矩形无重叠地覆盖一个2Xn的大矩形,总共有多少种方法?思路:这个题的本质是斐波那契数列,如何将这个题理解为斐波那契数列,我的思路是这样的:考虑最后一列的情况,最后一列的两个小矩形可以竖着放,也可以横着放。如果最后一个小矩形竖着放,那么前面的所有小矩形可以覆盖2行n-1列的部分,记为f(n-1)。如果最后一个小矩形横
y6533
·
2024-01-04 13:30
算法
java
数据结构
《
剑指offer
》 递归和循环第三题:变态跳台阶
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:青蛙有两种选择:跳一级或者跳两级。如果跳一级,则还剩下n-1级台阶需要跳,这时青蛙又面临着跳一级或者跳两级的选择;如果跳两级,则还剩下n-2级台阶需要跳,这时青蛙又面临着跳一级或者跳两级的选择。以此类推,每次跳跃青蛙都有两种选择,一直到最后一步跳上第n级台阶。即青蛙跳上
y6533
·
2024-01-04 13:00
算法
java
数据结构
《
剑指offer
》 链表第四题:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路:有两种方法,一种是非递归方法(双指针法),另一种是递归法。classListlcz4//非递归{classNode{intval;Nodenext;Node(intval){this.val=val;}}publicNodejoin(Nodelist1,Nodelist2){if(list1==null)returnlist2;if(list2==null)returnlist1;if(li
y6533
·
2024-01-04 13:59
java
数据结构
链表
《
剑指offer
》 链表第八题: 删除链表中连续重复的节点。
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5处理后为1->2->5。思路:这题的关键在于判断循环的条件,一定要捋清楚,while循环是总的一个循环,而while里的另一个while循环才是判断这个节点的值是否连续重复,如果重复,则一直将当前重复的节点指向下一个,直到下一个节点与当前节点不相
y6533
·
2024-01-04 13:59
链表
数据结构
《
剑指offer
》 字符串第一题:替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如:当字符串为“WeAreHappy",经过替换后为"We%20Are%20Happy"。解题思路:本题有两种思路。一种是创建一个新的并且为空的字符串来继承原字符串,一遇到空格则立马替换为%20,其他情况则继承原字符串的内容。publicStringinstead(Strings){if(s==null)returnnull;S
y6533
·
2024-01-04 13:59
算法
java
数据结构
《
剑指offer
》 链表第一题:从尾到头打印链表
//写在开头,博主是一名大专学生大一生,由于从九月份开始学习算法,但是一直处在理论学习,经老师推荐刷《
剑指offer
》,备战明年的蓝桥杯java组,写博客以此来记录学习之路,由于博主没有任何算法基础,从零开始学习
y6533
·
2024-01-04 13:29
链表
数据结构
java
《
剑指offer
》链表第三题:反转链表
此题有两种思路,一种是用三指针法,另一张是递归思想。以下是三指针法的解法:package链表;classListNode1{classNode{intval;Nodenext;Node(intval){this.val=val;}}publicNoderollback(Nodenode1){if(node1==null)returnnull;Nodeprev=null;Nodecur=node1;
y6533
·
2024-01-04 13:29
链表
数据结构
《
剑指offer
》数学第二题:求1+2+3+...+n
题目描述:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路:我们可以用递归和短路运算符来进行运算,具体代码如下。代码实现:package数学;importjava.util.Scanner;publicclassMath2{publicintsolution(intn){if(n==0)return0
y6533
·
2024-01-04 13:43
算法
(双指针 子数组)剑指 Offer 48. 最长不含重复字符的子字符串
剑指Offer
48.最长不含重复字符的子字符串classSolution{public:intlengthOfLongestSubstring(strings){intcnt[300];memset(cnt
来到了没有知识的荒原
·
2024-01-04 11:23
剑指 Offer(第2版)面试题 68:树中两个结点的最低公共祖先
剑指Offer
(第2版)面试题68:树中两个结点的最低公共祖先
剑指Offer
(第2版)面试题68:树中两个结点的最低公共祖先解法1:递归拓展题:二叉搜索树的最近公共祖先解法1:两次遍历解法2:一次遍历
剑指
UestcXiye
·
2024-01-04 09:48
剑指
Offer
C++
剑指Offer
数据结构
算法
二叉树
递归
先序遍历
剑指 Offer(第2版)面试题 67:把字符串转换成整数
剑指Offer
(第2版)面试题67:把字符串转换成整数
剑指Offer
(第2版)面试题67:把字符串转换成整数解法1:模拟
剑指Offer
(第2版)面试题67:把字符串转换成整数题目来源:87.把字符串转换成整数解法
UestcXiye
·
2024-01-04 09:17
剑指
Offer
C++
剑指Offer
数据结构与算法
字符串
【LeetCode-
剑指offer
】-- 13.二维区域和检索-矩阵不可变
13.二维区域和检索-矩阵不可变方法:一维前缀和初始化时对矩阵的每一行计算前缀和,检索时对二维区域中的每一行计算子数组和,然后对每一行的子数组和计算总和。具体实现方面,创建m行n+1列的二维数组sums,其中m和n分别是矩阵matrix的行数和列数,sums[i]为matrix[i]的前缀和数组。将sums的列数设为n+1的目的是为了方便计算每一行的子数组和,不需要对col1=0的情况特殊处理。c
小d<>
·
2024-01-04 07:18
#
剑指offer
leetcode
算法
Leetcode-递归
文章目录q21合并两个有序链表q101对称二叉树q104二叉树的最大深度q226翻转二叉树q236二叉树的最近公共祖先
剑指Offer
10-I.斐波那契数列
剑指Offer
10-II.青蛙跳台阶问题q21合并两个有序链表题目传送门题解可以使用递归和迭代两种方法进行求解
jenrain
·
2024-01-04 05:39
LeetCode
leetcode
python数据结构
剑指offer
-重建二叉树
例题描述给定节点数为n的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,5,3,6,7}和中序遍历序列{4,2,5,1,6,3,7},则重建出如下图所示。解决思路因为先序遍历根中序遍历是保存在数组中的,所以我们需要利用数组的性质,而不是上来就利用二叉树的性质,刚开始我是按照二叉树来做的,直到我失败了无数次之后,看到了函数的传入值是两个list,我
漫漫行程路
·
2024-01-04 01:01
python数据结构
数据结构
python
算法
CTAP
算法详解
文章地址:CTAP:ComplementaryTemporalActionProposalGeneration代码地址:https://github.com/jiyanggao/CTAP该文章发表于ECCV2018。现在tempporalactionproposal任务主流的有两种方式。一种是采用滑窗方式,但这种方式得不到精确的边界。一种是采用基于grouping的方式,这种方式相对于划窗方式能得
ce0b74704937
·
2024-01-04 01:38
java数据结构与算法刷题-----LeetCode746. 使用最小花费爬楼梯
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-03 22:05
算法
java
算法
leetcode
java数据结构与算法刷题-----LeetCode70. 爬楼梯
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-03 22:35
算法
java
leetcode
算法
java数据结构与算法刷题-----LeetCode509. 斐波那契数
java数据结构与算法刷题目录(
剑指Offer
、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-03 22:02
算法
java
leetcode
算法
【LeetCode-
剑指offer
】--16.无重复字符的最长子串
16.无重复字符的最长子串方法:滑动窗口classSolution{publicintlengthOfLongestSubstring(Strings){intn=s.length();Setset=newHashSet<>();intl=0,ans=0;for(inti=0;i
小d<>
·
2024-01-03 18:36
#
剑指offer
leetcode
算法
【LeetCode-
剑指offer
】--15.找到字符串中所有字母异位词
15.找到字符串中所有字母异位词方法:滑动窗口classSolution{publicListfindAnagrams(Strings,Stringp){Listans=newArrayListm){returnans;}int[]cnt1=newint[26];int[]cnt2=newint[26];for(inti=0;i
小d<>
·
2024-01-03 18:06
#
剑指offer
leetcode
算法
【LeetCode-
剑指offer
】-- 14.字符串的排列
14.字符串的排列方法:滑动窗口classSolution{publicbooleancheckInclusion(Strings1,Strings2){intm=s1.length(),n=s2.length();if(m>n){returnfalse;}int[]cnt1=newint[26];int[]cnt2=newint[26];for(inti=0;i
小d<>
·
2024-01-03 18:05
#
剑指offer
leetcode
算法
【LeetCode-
剑指offer
】-- 9.乘积小于K的子数组
9.乘积小于K的子数组方法:滑动窗口关于为什么子数组数目为j-1+1。这时候就要理解采用滑动窗口的思路其实是枚举子数组的右端点,然后来找到满足条件的最小左端点。也即当得到满足条件的窗口时,就意味着得到了以j作为右端点时满足条件的左端点的最小值。那么此时满足条件的子数组个数当然就等于窗口能所有能作为左端点的位置个数,即j-i+1。classSolution{publicintnumSubarrayP
小d<>
·
2024-01-03 18:31
#
剑指offer
leetcode
算法
JS 排序
算法详解
(冒泡排序,选择排序,插入排序,希尔排序,快速排序)
JS排序
算法详解
(冒泡排序,选择排序,插入排序,希尔排序,快速排序)一、大O表示法在进行排序算法之前,我们得先掌握一种对算法效率的表示方法,大O表示法。
echomsy
·
2024-01-03 16:19
数据结构
排序算法
快速排序
插入排序
js
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他