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算法详解
python选择排序算法图解_十大经典排序
算法详解
排序算法是《数据结构和算法》中非常基础的算法,但却占据着十分重要的位置,几乎可以说是我们在日常编程代码中使用最频繁的基础算法。本文对常见的十大经典排序算法进行了详细的知识点梳理,从排序思路、动图演示、代码实现、复杂度分析、算法优化等多个方面分别对不同的排序算法进行讲解,内容详实,一篇文章几乎囊括了排序算法所有必知必会的知识点,夸张点说,算得上是“史上最全”排序算法讲解。1.排序算法的分析和评价时间
weixin_39788572
·
2023-11-24 18:51
python选择排序算法图解
必备排序
算法详解
(java代码实现,图解,比较等,持续更新中)
参考文章:https://blog.csdn.net/hellozhxy/article/details/79911867(各种排序的比较)https://blog.csdn.net/mengyue000/article/details/77505666术语稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:
秃头笔记
·
2023-11-24 18:49
数据结构
排序算法
排序——桶排序(Bucket sort)
算法详解
桶排序的思想近乎彻底的分治思想。算法的过程描述如下:根据待排序集合中最大元素和最小元素的差值范围和映射规则,确定申请的桶个数;遍历待排序集合,将每一个元素移动到对应的桶中;对
努力的老周
·
2023-11-24 18:15
OI
#
排序
桶排序
Bucket
sort
变态跳台阶,
剑指offer
目录题目:我们直接看题解吧:相似题目:解题方法:审题目+事例+提示:解题思路:代码实现:题目地址:【
剑指Offer
】9、变态跳台阶难度:简单今天刷变态跳台阶,大家有兴趣可以点上看看题目要求,试着做一下。
大数据SQLboy
·
2023-11-24 18:08
剑指offer
#
递归循环
leetcode
算法
合并两个有序链表,
剑指offer
,力扣
目录力扣题目地址:原题题目:我们直接看题解吧:解题方法:审题目+事例+提示:解题思路:具体流程如下:代码实现:知识补充:力扣题目地址:21.合并两个有序链表-力扣(LeetCode)难度:简单今天刷合并两个有序链表,大家有兴趣可以点上看看题目要求,试着做一下。原题题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。我们直接看题解吧:解题方法:方法1、递
大数据SQLboy
·
2023-11-24 18:08
剑指offer
#
链表
链表
leetcode
数据结构
两个链表的第一个公共节点(相交链表),
剑指offer
,力扣
目录题目地址:题目:我们直接看题解吧:解题方法:审题目+事例+提示:解题思路(双指针):具体思路流程:代码实现:算法思路补充证明:力扣题目地址:160.相交链表-力扣(LeetCode)难度:简单今天刷两个链表的第一个公共节点(相交链表),大家有兴趣可以点上看看题目要求,试着做一下。题目:我们直接看题解吧:解题方法:方法1哈希表,方法2、双指针(或者拼接链表)审题目+事例+提示:根据题意如果两链表
大数据SQLboy
·
2023-11-24 17:28
剑指offer
#
链表
leetcode
剑指offer
编程题—二叉树的下一个节点
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。解题思路:该题考察点为二叉树的中序遍历特点。分三大类进行考虑:结点为空则返回空;结点有右孩子,则中序遍历的下一个结点就是其右子树最左边的结点,可能是最左边的叶子结点,也可能是最左边的一个没有左孩子的父结点;没有右子树,又可分两种情况进行考虑:a.当前结点为其
零岁的我
·
2023-11-24 13:30
剑指Offer
——用两个栈实现队列(C语言)
问题关键:利用两个栈来建立一个队列typedefstruct{intLTop;intLdata[10010];intRTop;intRdata[10010];}MyQueue;/**Initializeyourdatastructurehere.*/MyQueue*myQueueCreate(intmaxSize){MyQueue*A=malloc(sizeof(MyQueue));A->LTop
空纸
·
2023-11-24 02:21
大数据
c语言
算法
数据结构
leetcode
剑指offer
—-和为S的两个数字
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。答案://C++/*用两个指针从两端向中间逼近如果两数之和等于所要找的数,输出并跳出循环,因为先找到的两数之积一定小于后找到的两数之积(1,2,3,4,5,6)找9,3*6小于4*5;如果两数之和大于所要找的数,
wondergong
·
2023-11-24 02:20
剑指offer和其他笔试题
剑指offer
C++
力扣每日一题——剑指 Offer 09. 用两个栈实现队列
力扣每日一题——
剑指Offer
09.用两个栈实现队列题目描述代码注释classCQueue:def__init__(self):self.A,self.B=[],[]#队列尾部直接插入一个整数defappendTail
Hailey-X
·
2023-11-23 22:06
力扣每日一题
leetcode
队列
栈
【LeetCode每日一题】——
剑指Offer
09.用两个栈实现队列
文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】一【题目类别】栈二【题目难度】简单三【题目编号】
剑指Offer
09
IronmanJay
·
2023-11-23 22:05
LeetCode
栈
leetcode
算法
数据结构
队列
剑指offer
.09 两个栈实现一个队列
目录题意解题思路代码实现运行结果总结题意 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回-1)解题思路栈与队列的特点:栈为先结后出,而队列为先进先出 将第一个栈作为数据输入栈,执行入队操作时将数据压入第一个栈;另一个栈作为数据输出栈,用于出
嵌入式小学徒
·
2023-11-23 22:04
剑指offer
学习记录
链表
数据结构
c语言
遇见lodash
实际运用算法举例[
剑指Offer
50.第一个只出现一次的字符]防范举例总结参考地址lodash初识前沿第一次听到这个技术的时候是在看视频被提到一次,并且使用了其中的防抖和及节流的封装,当时不以为然,直到刷算法时再次遇到使用
Flying____fish
·
2023-11-23 21:38
js散装笔记
javascript
前端
lodash
自然语言处理的评价指标
BLEUROUGEMETEORCIDEr主观评价指标人工阅读,流畅度,相关度.助盲度(评价生成语句对一个实力缺陷的人去理解其意思有多大的帮助)BLEU详细请参考机器翻译评价指标-BLEU和机器翻译自动评估-BLEU
算法详解
和机器翻译评价指标之
JL_Jessie
·
2023-11-23 19:16
NLP
Raft
算法详解
文章目录1.Raft算法简介1.1Raft背景1.2Raft角色1.3Raft三个子问题2.Raft算法之LeaderElection原理3.Raft算法之LogReplication原理4.Raft算法之安全性4.1选举限制4.2提交之前任期内的日志条目5、线性化语义6、后记7、后记28、后记31.Raft算法简介1.1Raft背景在分布式系统中,一致性算法至关重要。在所有一致性算法中,Paxo
_李少侠_
·
2023-11-23 12:52
算法
分布式
etcd
算法
剑指Offer
刷题笔记--Num03-10
目录1--数组中重复的数字(03)2--二维数组中的查找(04)3--替换空格(05)4--从尾到头打印链表(06)5--重建二叉树(07)6--用两个栈实现队列(09)7--斐波拉契数列(10)8--青蛙跳台阶问题(10)1--数组中重复的数字(03)解决方法1:基于哈希表,将数组中的元素视为Key,其对应的Value设为True;遍历每一个元素,查询元素Key对应的Value,若为True表示
晓晓纳兰容若
·
2023-11-23 09:01
数据结构
(完整C++代码)
剑指offer
:调整数组顺序使奇数位于偶数前面。
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。解决方案:(欢迎指正)1.首尾指针定义头指针preDummy,尾指针endDummy.preDummy一直往右移,直到它指向的值为偶数;endDummy一直往左移,直到它指向的值为奇数;进行互换操作,继续重复上述步骤。代码如下:#include#includeusingname
李子鱼
·
2023-11-23 09:01
c++
指针
数据结构
leetcode
剑指offer
_整数中1出现的次数
题目:求1~n的数字中,数字1出现的次数。最无脑的做法,从1遍历到n,累计每个数字中1出现的次数。。。。在leetcode上看到最牛逼的做法先上代码再说:publicintcountDigitOne(intn){intones=0;for(longm=1;m=2caneasilybedoneinoneexpression.With(a+8)/10yougetthenumberoffullstrea
weixin_30443075
·
2023-11-23 09:28
数据结构与算法
剑指offer
-最小的k个数
题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。思路:排序,然后取前k个O(nlogn)剑指解法:考虑之前的题目,数组中出现次数超过一半的数字,如果基于数组的第k个数字来调整,比其小的都位于左边,大的都位于右边。方法一:基于划分的方法,查找第K个数字,第一次划分之后,划分的位置如果大于k,那么就在前面的子数组中继续进
凤凤程序媛
·
2023-11-23 09:24
剑指offer
思路整理(个人向)3-16
(题目和部分思路来自leetcode
剑指offer
)剑指03.数组中重复的数字在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。
fantastic_bobo
·
2023-11-23 09:24
算法
面试
算法:(1)
剑指offer
,python实现
算法:
剑指offer
,python实现参考*.基础0.1查找和排序0.1.1快速排序0.1.2二分法2.4.4动态规划与贪婪算法2.4.5位运算题目11题:旋转数组的最小数字分析实现12题:矩阵中的路径分析
iven2166
·
2023-11-23 09:20
算法/刷题
[
剑指offer
]整数中1出现的次数(从1到n整数中1出现的次数)
题目整数中1出现的次数(从1到n整数中1出现的次数)描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。思路来源LeetCodeGothroughthedigitpo
淘气的二进制
·
2023-11-23 09:18
剑指offer
剑指offer
【done+找规律】
剑指offer
44:找到第 k 位数字
力扣,https://leetcode.cn/problems/shu-zi-xu-lie-zhong-mou-yi-wei-de-shu-zi-lcof/description/数学找规律,参考链接:https://leetcode.cn/problems/shu-zi-xu-lie-zhong-mou-yi-wei-de-shu-zi-lcof/solutions/219252/mian-sh
Allenlzcoder
·
2023-11-23 09:17
剑指offer题目笔记
算法
LeetCode
【done】
剑指offer
53:在排序数组中查找数字
力扣,https://leetcode.cn/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/description/二分查找,边界问题solution1,二分搜索目标值+线性扫描递归版二分搜索,其实不太好classSolution{publicintcountTarget(int[]scores,inttarget){if(scores
Allenlzcoder
·
2023-11-23 09:17
剑指offer题目笔记
二分查找
【done】
剑指offer
46_new:解密数字
题目:力扣165,https://leetcode.cn/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/description/现有一串神秘的密文ciphertext,经调查,密文的特点和规则如下:密文由非负整数组成数字0-25分别对应字母a-z请根据上述规则将密文ciphertext解密为字母,并返回共有多少种解密结果。思路:classSolu
Allenlzcoder
·
2023-11-23 09:16
剑指offer题目笔记
动态规划
dp
【done+重点】
剑指Offer
56-I:找出数组中2个只出现1次的整数
力扣,https://leetcode.cn/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/description/题目:一个整型数组nums里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。注意:相同的数异或为0,不同的异或为1。0和任何数异或等于这个数本身。思路
Allenlzcoder
·
2023-11-23 09:44
剑指offer题目笔记
异或
LeetCode206:Reverse Linked List
解法一迭代的方法之间在
剑指offer
上面见到过,使用三个指针,需要注意一点的是指针的初始化,对第一个指针初始化为
vincent-xia
·
2023-11-23 05:05
LeetCode
LeetCode
剑指offer
学习笔记:6.5 发散思维能力
面试题46:求1+2+3+....+n求1+2+3+....+n,要求不能使用乘除法,不能用for,while,if,else,switch,case等关键字及条件判断语句。leetcode链接https://leetcode-cn.com/problems/qiu-12n-lcof/classSolution{//利用&&运算法左子式为false不进行右子式计算的性质public:intsumN
小逗比儿
·
2023-11-23 04:46
力扣每日一题:用两个栈实现队列 详细的思路介绍与逻辑整理!
剑指Offer
09.用两个栈实现队列https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/solution/
清风Python
·
2023-11-23 02:48
二叉树树叶统计
算法详解
一、引言二叉树树叶,就是度为零的结点,或者说左右子树都为空的结点就是树叶。要统计这些树叶的个数,也就是统计一下左右子树均为空的结点个数,因此只需要在二叉树上依次查看每一个结点的左右子树是否为空即可,可以安装先序遍历算法来统计,也可以按照中序遍历、后序遍历和层次遍历等算法来统计。本文给出了基于二叉树层次遍历算法来统计二叉树树叶个数的算法及其基于C语言的实现。二、统计二叉树树叶的基本方法如下图所示的二
撼山拔月
·
2023-11-23 01:35
二叉树创建及遍历
算法
数据结构
c语言
最小生成树Kruskal
算法详解
Kruskal算法简介:Kruskal算法是一种用来求最小生成树的算法,在稀疏图中比Prim有更高的效率,且方便实现,所以本文重点讲解Kruskal算法的用途和使用方法Kruskal算法原理:Kruskal算法主要利用贪心的思想使得边权和最小Kruskal算法步骤:把mmm条边按边权从小到大排序把图中的nnn个顶点看成独立的nnn棵树组成的森林;先从边权小的边开始循环,通过并查集判断添加这条边后是
Andysun06
·
2023-11-23 00:18
C++
图论
题解
算法
数据结构
c#
c++
c语言
位运算技巧及leetcode相关例题Java实现
目录一、异或运算符的运用&&leetcode136异或运算符a^b^b=aleetcode136二、n&(n-1)&&leetcode133n&(n-1):消除n最右边的一个1leetcode133/
剑指
王木木很酷_
·
2023-11-22 23:13
leetcode刷题练习
leetcode
算法
java
开发语言
刷题
Java回朔法详解_算法之回溯
算法详解
回溯算法定义回溯算法实际上基于DFS(深度优先搜索)的一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回到上一个状态,尝试其他的路径,这种走不通就退回再走的技术为回溯法;满足回溯条件的某个状态的点称为“回溯点”。回溯相关问题DFS和回溯算法区别DFS是一个劲的往某一个方向搜索,直到到达最底层,而回溯算法建立在DFS基础之上的,但不同的是在搜索过
Unreal丶
·
2023-11-22 23:40
Java回朔法详解
回溯
算法详解
(python)
回溯
算法详解
(python)从本质上来说,回溯算法就是深度优先搜索(DFS)。
Frayn_code
·
2023-11-22 23:38
python
算法
回溯
算法详解
(修订版)
预计阅读时间:10分钟这篇文章是很久之前的一篇《回溯
算法详解
》的进阶版,之前那篇不够清楚,就不必看了,看这篇就行。把框架给你讲清楚,你会发现回溯算法问题都是一个套路。废话不多说,直接上回溯算法框架。
labuladong
·
2023-11-22 23:33
回溯
算法详解
之排列组合
一、前言回溯算法本质上是递归函数在不同条件下的运作。程序自动进行压栈与出栈的操作,从细节上来说比较难理解(可以结合IDE按步调试去理解)。回溯算法、深度优先遍历、递归这三者的共同点都在于先进后出。回溯法的本质:采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答
cillian_bao
·
2023-11-22 23:02
数据结构与算法刷题心得
算法
回溯
算法详解
目录什么是回溯?回溯常用来解决什么问题?回溯的效率如何?回溯在面试中的考察频率如何学好回溯?回溯通用模板什么是回溯?回溯:你处理了之后,再进行”撤销“处理,”撤销“这个动作就是回溯。回溯常用来解决什么问题?1.棋盘问题2.路径搜索问题3.组合问题4.排列问题5.子集问题回溯的效率如何?很差很差,相当于是暴力方法,因为它会尝试每一个可能。回溯在面试中的考察频率很高,在比试中也很高。可以用回溯解决,但
王木木很酷_
·
2023-11-22 23:56
#数据结构与算法
算法
数据结构
java
回溯
最小生成树Prim
算法详解
(C++)
Prim:Prim算法是一种用于寻找加权无向图的最小生成树的贪心算法。它的基本思路是从图中任意一个点开始,选择与该点相邻的最小边,并将该边所连接的点加入到生成树的集合中。然后再从新加入的点出发,重复该过程直到所有的节点都被加入到生成树中。邻接表:#include#include#include#includeusingnamespacestd;constintINF=0x3f3f3f3f;//定义
就叫你天选之人啦
·
2023-11-22 22:25
算法
C++
计算机基础
c++
算法
图论
剑指offer
——包含min的栈
题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。这道题思路很简单,两个栈来实现,可是刷leetcode时遇到一种情况,使原来的答案出现了错误,所以在这里更新一下,下面是原来的代码:代码一出现一种情况,上面的代码会出现问题:push(-10)push(14)push(-20)pop()push(10)错误原因就在于pop后没有及时更新m
不胖二十斤不改名zz
·
2023-11-22 18:12
剑指offer
Day23----整数中1出现的次数(从1到n整数中1出现的次数)
题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1到n中1出现的次数)。思路:方法一: 直接一个数字一个数字的计算每个数字1出现的次数,并返回其和。方法二:
墨殇染泪
·
2023-11-22 16:08
剑指 Offer 10- I. 斐波那契数列
剑指Offer
10-I.斐波那契数列写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项(即F(N))。
祁小彬
·
2023-11-22 14:52
LeetCode
剑指offer
——旋转数组的最小数字
描述有一个长度为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)示例1输入:[3,4,
比巴卜果粒多
·
2023-11-22 13:58
java
算法
java
面试
leetcode
剑指Offer
:面试题05. 替换空格
题目描述请实现一个函数,把字符串s中的每个空格替换成"%20"。示例1:输入:s="Wearehappy."输出:"We%20are%20happy."限制:0str:st=''foriinrange(len(s)):ifs[i]=='':st+='%20'else:st+=s[i]returnst
AMiFan
·
2023-11-22 13:14
PigyChan_LeetCode 剑指 Offer 14- II. 剪绳子 II
剑指Offer
14-II.剪绳子II难度中等给你一根长度为n的绳子,请把绳子剪成整数长度的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1]…k[m-1]。
PigyChan
·
2023-11-22 06:14
LeetCode动态规划
leetcode
算法
c++
动态规划
2021-09-08
IT1.LeetCode力扣:字符串的排列2021-09-08(
剑指Offer
38.字符串的排列)2.《
剑指offer
》:p197~p202英语1.墨墨背单词:复习50个单词
幸福大黑鸭
·
2023-11-22 05:13
《
剑指offer
第二版》面试题56:数组中数字出现的次数(java)
题目描述一个整数数组里除两个数字外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。比如{2,3,5,3,2,7},则两个只出现一次的数字为5和7.解题思路假设数组中只出现一次的两个数字为A和B。一个数字异或自己的结果是0。依次将该数组进行异或,则得的到的结果即为为A和B异或的结果,因为其他成对出现的数字都抵消了。由于A和B不同,所以A和B
castlet
·
2023-11-22 04:58
Java实现二维数组中查询是否存在某一个数字
剑指Offer
算法题目:二维数组中查找是否存在某一个值,数组从左到右递增,从上到下递增,如下所示查找7返回true,查找5返回fallse,数组类型如下所示128924912471013681115思路
blitheW
·
2023-11-22 02:17
算法总结
算法
java
leetcode 430. 扁平化多级双向链表
leetcode430.扁平化多级双向链表文章目录leetcode430.扁平化多级双向链表一、题目1.题目描述2.基础框架3.解题思路4.知识点一、题目原题链接:430.扁平化多级双向链表相同题目:
剑指
进击的code儿
·
2023-11-21 23:59
算法
链表
leetcode
数据结构
剑指 Offer 36. 二叉搜索树与双向链表
剑指Offer
36.二叉搜索树与双向链表文章目录
剑指Offer
36.二叉搜索树与双向链表一、题目1.题目描述2.基础框架3.解题思路4.知识点一、题目原题链接:
剑指Offer
36.二叉搜索树与双向链表1
进击的code儿
·
2023-11-21 23:59
算法
链表
数据结构
算法
【
剑指Offer
】个人学习笔记_55 - I_二叉树的深度&55 - II_平衡二叉树
目录题目:[
剑指Offer
55-I.二叉树的深度](https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/)题目分析初始解答:学习他人:
JonnySu
·
2023-11-21 21:35
Coding
二叉树
队列
算法
leetcode
java
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他