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
II029.排序的循环链表-力扣(LeetCode)看了一些题解,感觉他们分类有点太细了,导致代码很多,其实就是三种情况head为null时,直接把head值改为需求值再让next指向自己即可也是最一般情况
最后一只三脚兽
·
2023-11-01 17:52
算法
leetcode
算法
职场和发展
每日算法Leetcode --- 剪绳子
每日算法Leetcode—剪绳子本文中的题都来自leetcode和
剑指offer
1.题目给你一根长度为n的绳子,请把绳子剪成整数长度的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0]
Aphelios_King
·
2023-11-01 10:08
面试题
算法
算法
leetcode
贪心算法
动态规划
数据结构
牛客
剑指offer
刷题链表篇
文章目录从尾到头打印链表题目思路代码实现反转链表题目思路代码实现合并两个有序链表题目思路代码实现两个链表的第一个共同结点题目思路代码实现链表中环的入口结点题目思路代码实现链表中倒数第K个节点题目思路复杂链表的复制题目思路1【时间复杂度和空间复杂度均为O(n)】实现代码1思路2【直接复制链表】代码实现2删除链表中的重复结点题目思路代码实现删除链表的节点题目代码实现从尾到头打印链表题目输入一个链表的头
惜许
·
2023-11-01 10:23
数据结构与算法
1024程序员节
牛客
剑指offer
刷题二叉树篇
文章目录二叉树的深度题目思路代码实现二叉树的深度题目给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。思路采用递归的思想,分别计算根节点左右子树深度,然后比较左右子树深度大小,最大的值+1即为所求结果;代码实现publicstaticintmaxDepth(TreeNoderoot){if(root==null){return0;}intlef
惜许
·
2023-11-01 10:50
数据结构与算法
算法
刷题4--数组、链表
移除元素26.删除有序数组中的重复项283.移动零844、比较含退格的字符串977、有序数组的平方滑动窗口209、长度最小的子数组904、水果成篮76、最小覆盖子串螺旋矩阵59、螺旋矩阵II54、螺旋矩阵
剑指
zhaojiazb
·
2023-11-01 02:41
算法
c++
算法
数据结构
刷题笔记(1)---链表
目录链表标记简介移除链表元素203.移除链表元素(√)237.删除链表中的节点(√)83.删除排序链表中的重复元素(√)82.删除排序链表中的重复元素II追赶指针技巧(双指针/快慢指针)876.链表的中间结点(√)
剑指
jack学编程
·
2023-11-01 02:34
刷题笔记
数据结构
算法
c++
链表
剑指offer
--algorithm3
归零后才能重新出发,不留遗憾才是最好的故事。本节的两题实际上介绍了两种重要且常见的数据结构,一个为树,一个为栈和队列题5--重建二叉树关于树的考察,书中有这样的描述,一般指的为二叉树--每一个节点都有两个子节点,而考察二叉树,一般考察的为遍历。关于树的题目多变,但是一般解决方法都是通过前序遍历、中序遍历、后序遍历等遍历思路,而每一种思路都有递归跟循环两种方法。image.png下开始解题关于重建二
strive鱼
·
2023-10-31 19:12
leetcode
做题笔记
207. 课程表
你这个学期必须选修numCourses门课程,记为0到numCourses-1。在选修某些课程之前需要一些先修课程。先修课程按数组prerequisites给出,其中prerequisites[i]=[ai,bi],表示如果要学习课程ai则必须先学习课程bi。例如,先修课程对[0,1]表示:想要学习课程0,你需要先完成课程1。请你判断是否可能完成所有课程的学习?如果可以,返回true;否则,返回f
si_mple_
·
2023-10-31 17:58
拓扑排序
算法
leetcode
职场和发展
leetcode
做题笔记
206. 反转链表
给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[]思路一:头插法c语言解法structListNode*reverseList(structListNode*head){structListNode*pre=NULL;stru
si_mple_
·
2023-10-31 17:54
链表
leetcode
笔记
链表
剑指offer
--- 字符串中替换空格
目录前言一、读懂题目二、思路分析三、代码呈现总结前言作为引入讲讲这道题的由来,在网络编程中,如果URL参数中含有特殊字符,如空格、#等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在%后面跟上ASCI码的两位十六进制的表示。比如空格的ASCII码是32,即十六进制的0x20,因此空格被替换成"%20"。一、读懂题目请实现一个函数,把字符串中的
螺蛳粉只吃炸蛋的走风
·
2023-10-31 07:01
刷题&剑指offer
数据结构
算法
c++
c语言
剑指offer
面试
每日N+1题 -- 算法练习 Day3
主要选自
剑指offer
、程序员面试宝典。每日尽可能保持N+1道题,N取0到9。
豆小匠Coding
·
2023-10-31 04:45
算法
【leetcode】【
剑指offer
Ⅱ】047. 二叉树剪枝
问题描述:给定一个二叉树根节点root,树的每个节点的值要么是0,要么是1。剪除该二叉树中所有节点的值为0的子树。节点node的子树为node本身,以及所有node的后代。核心思路:该题用递归来做比较方便。递归进入左子,并将递归返回的结果作为新的左子,即root->left=dfs(root->left);。之所以要重置左子,是因为左子可能是全为0的子树,如果左子树中数值全为0,则将左子置为空。而
cheny1li1998
·
2023-10-31 02:03
#
剑指
offer
Ⅱ
leetcode
二叉树的镜像、二叉树剪枝——C++
剑指Offer
27.二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。
菜鸟的Zoom之旅
·
2023-10-31 01:33
数据结构
剑指offer
第十五题 位运算 二进制中1的个数
把一个整数减去1之后再和原来的整数做位与运算,得到的结果相当于把整数的二进制表示中最右边的1变为0题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路分析第一种思路:二进制表示和1与运算,结果为1,说明最右边位置为1;右移判断各个位置是否为1缺点:如果是负数的情况下,符号位是1,左边补得一直为1,这样最终数字会变成0xFFFFFFFF,从而陷入死循环第二种思路:二进制表示不
gsub
·
2023-10-30 22:16
剑指Offer
二进制
剑指offer
1的个数
算法通关村第3关 | 数组有关题目
数组中出现次数超过一半的数字
剑指offer
39数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
究极小天才
·
2023-10-30 20:33
编程导航算法通关村
算法
数据结构
java
python空格替换
记
剑指offer
05替换空格问题描述题目意义在编程中,如果URL参数(是Internet上用来描述信息资源的字符串)中含有特殊字符,使服务器端无法正确识别,则需要将特殊字符进行转换,转换规则是在“%”后面加上
contra1984
·
2023-10-30 19:30
python
字符串
算法
剑指offer
--- 二维数组中的元素查找
目录一、读懂题目二、思路分析三、代码呈现总结一、读懂题目题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的个二维数组和一个整数,判断数组中是否含有该整数。首先我们分析由于该二维数组有序,且呈现从上到下、从左到右递增的规律,比如该示例:我们需要从中找出输入数是否存在,如果存在返回true,反之返回false即可。二、思路分析当然
螺蛳粉只吃炸蛋的走风
·
2023-10-30 06:24
刷题&剑指offer
算法
数据结构
剑指offer
c++
c语言
二进制和位运算
颠倒二进制位力扣476.数字的补数力扣1009.十进制整数的反码二元运算异或CSU1217奇数个的那个数力扣1375.二进制字符串前缀一致的次数力扣1177.构建回文串检测力扣2425.所有数对的异或和力扣
剑指
csuzhucong
·
2023-10-30 00:01
算法
【每日一题】力扣 剑指 Offer 04. 二维数组中的查找
文章目录题目解题思路代码(C++)暴力二分线性查找总结题目题目链接:
剑指Offer
04.二维数组中的查找在一个n*m的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
聆听逝去的流
·
2023-10-30 00:07
每日一题
leetcode
算法
每日一题
二分查找
LeetCode 剑指 Offer 38. 字符串的排列 / 31. 下一个排列 / 第 246 场周赛
剑指Offer
38.字符串的排列2021.6.22每日一题题目描述输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。
Zephyr丶J
·
2023-10-29 17:22
LeetCode
周赛
leetcode
java
[算法] leetcode单链表相关题目详解(一)
目录1.203-移除链表元素解法2.206-反转链表解法一解法二3.876-链表的中间结点解法4.
剑指Offer
22.链表中倒数第k个节点解法1.203-移除链表元素203.移除链表元素给你一个链表的头节点
哦哦呵呵
·
2023-10-29 17:20
算法
数据结构
单链表
链表
指针
leetcode
力扣刷题【反转链表】
开篇:反转链表两种解法:迭代、递归;正文:
剑指Offer
II024.反转链表题目描述:给定单链表的头节点head,请反转链表,并返回反转后的链表的头节点。
闲云野鹤412
·
2023-10-29 16:51
链表
leetcode
数据结构
java
算法
从尾到头打印链表(java)
剑指offer
题目描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。解题思路:1、典型的“先进后出”,可以用栈来实现(1)每经过一个节点,把该节点放在一个栈中。(2)遍历完整个链表后,再从栈顶开始逐个输出节点的值。此时输出的节点顺序已经反转过来了/***publicclassListNode{*intval;*ListNodenext=null;**ListNode(intval){*this
大玟啊
·
2023-10-29 15:54
剑指offer
Java
java
链表
单调队列和单调栈
单调队列这种涉及到维护子数组的最大/小值的操作,一般都会是1
剑指Offer
59-II.队列的最大值2239.滑动窗口最大值31438.绝对差不超过限制的最长连续子数组单调栈
xxx_520s
·
2023-10-29 13:54
数据结构
java
数据结构
【
剑指offer
】面试题11 - 旋转数组的最小数字
文章目录面试题11:旋转数组的最小数字解法一:模拟二分查找面试题11:旋转数组的最小数字题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2]为[1,2,3,4,5]的一个旋转,该数组的最小值为1。链接:LeetCode牛客网解法一:模拟二分查找思路:两个指针left和right指向数
代码被吃掉了
·
2023-10-29 08:24
LeetCode题解
剑指offer
二分查找
双指针
算法
旋转数组的最小数字
剑指offer
| 04. 二维数组中的查找
题目:在一个n*m的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵matrix如下:[[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]]给定target=5,返回t
Leonadoice
·
2023-10-29 08:23
算法训练营
【算法-剑指 Offer】21. 调整数组顺序使奇数位于偶数前面(双指针;快速排序)
剑指Offer
21.调整数组顺序使奇数位于偶数前面-力扣(LeetCode)文章起笔:2021年11月14日10:50:21问题描述及示例输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分
赖念安
·
2023-10-29 08:23
剑指offer
数据结构
javascript
双指针
快速排序
剑指offer
【
剑指offer
】15-反转链表+图解
本文系《
剑指offer
》的刷题记录,通过牛客网在线平台测试通过。
puthon
·
2023-10-29 08:52
笔试
反转链表
图解
剑指offer
辅助指针
c++
剑指 Offer 25. 合并两个排序的链表 --递归与双指针解法
0题目描述leetcode原题链接:
剑指Offer
25.合并两个排序的链表1双指针解法#Definitionforsingly-linkedlist.
星尘 StarDust
·
2023-10-29 08:52
剑指Offer
算法模型
leetcode
链表
递归
双指针
面试
【
剑指offer
|图解|二分查找】点名 + 统计目标成绩的出现次数
⛳️统计目标成绩的出现次数结尾前言博客主页:@聆风吟的个人主页系列专栏:本期文章收录在《
剑指offer
每日一练》,大家有兴趣可以浏览和关注,后面将会有更多精彩内容!
聆风吟º
·
2023-10-29 08:49
剑指offer每日一练
c++
算法
经验分享
【
剑指offer
|图解|双指针】训练计划 I + 查找总价格为目标值的两个商品
⛳️查找总价格为目标值的两个商品结尾前言博客主页:@聆风吟的个人主页系列专栏:本期文章收录在《
剑指offer
每日一练》,大家有兴趣可以浏览和关注,后面将会有更多精彩内容!
聆风吟º
·
2023-10-29 08:19
剑指offer每日一练
c++
经验分享
算法
【
剑指offer
|图解|双指针】移除元素 + 合并两个有序数组
个人主页:聆风吟系列专栏:数据结构、算法模板、汇编语言少年有梦不应止于心动,更要付诸行动。文章目录前言一.⛳️移除元素二.⛳️合并两个有序数组全文总结前言 hello!小伙伴们大家好哇,上期我们通过图文已经对顺序表进行了详细解析,相信小伙伴们已经对顺序表有的初步了解,今天我们在结合两道道面试题对顺序表进一步巩固,如果有需要复习的小伙伴可以点击此处链接《图解顺序表》跳转过去对顺序表进行回顾。
聆风吟º
·
2023-10-29 08:47
剑指offer每日一练
数据结构
c语言
时间复杂度和空间复杂度+
剑指offer
习题
时间复杂度和空间复杂度+
剑指offer
习题时间复杂度介绍大O的渐进表示法有些算法的时间复杂度存在最好、平均和最坏情况:实例实例一(循环)实例二(嵌套循环)实例三(冒泡排序)实例四(二分法)实例五(阶乘递归
温柔了岁月.c
·
2023-10-29 04:27
数据结构与算法(C语言)
算法
数据结构
排序算法
c语言
剑指offer
【40】:topk数,小顶堆,快排实现
题目:思路+代码:思路:法一:调用pythonsorted方法时间复杂度:因为sorted也是使用饿快速排序实现饿,O(nlogn)空间复杂度:额外需要空间O(logn)法二:python小顶堆实现时间复杂度:n-k个数,维护小顶堆时间复杂度是O(logn),O(nlogk)空间复杂度:小顶堆只有k个数,O(logk)法三:使用***,第一次确定的数看跟k比较;因为***每一次能确定基准的最终位置
咕噜咕噜day
·
2023-10-28 23:22
剑指offer
小顶堆
快速排序
topk数
【算法总结】数组
目前刷了一遍代码随想录,跟着剑指再总结一下之前做过的题,参考代码随想录、
剑指Offer
、力扣等,如有侵权,联系删除目录文章目录目录数组理论基础1.集合、列表和数组2.数组的操作3.二维数组4.常用方法4.1
TIkitianya
·
2023-10-28 23:02
算法总结
数组
算法
java
开发语言
leetcode
做题笔记
205. 同构字符串
给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。思路一:哈希表c++解法classSolution{public:boolisIsomorphic(strings,stringt){un
si_mple_
·
2023-10-28 22:31
哈希表
笔记
Java和为k的子数组(前缀和 + 哈希表)
剑指offer
Ⅱ010.和为k的子数组解题思路:首先,如果第一想法是滑动窗口,那么,恭喜,踩坑如果是正整数、连续子数组,大概率使用滑动窗口But此题存在负数,所以就不清楚窗口左右缩进扩张是在增加还是在减少所以此题使用前缀和
不想秃头Q-Q
·
2023-10-28 19:55
剑指offer
java
leetcode
哈希表
前缀和
剑指offer
_面试题10:斐波那契数列,面试题11:旋转数组的最小数字(二分查找算法),面试题12:矩阵中的路径,面试题13:机器人的运动范围(岛屿的数量I和II)
面试题10:斐波那契数列①题目1:求斐波那契数列的第n项f(0)=0;f(1)=1;f(n)=f(n−1)+f(n−2),n>=2f(0)=0;f(1)=1;f(n)=f(n-1)+f(n-2),n>=2f(0)=0;f(1)=1;f(n)=f(n−1)+f(n−2),n>=2使用递归的方式,时间和空间复杂度很大,效率比较低。运行花了983ms。publicintFibonacci(intn){i
晓之木初
·
2023-10-28 19:04
算法
二叉平衡树
剑指Offer
算法
二叉平衡树的定义:具有下列性质的二叉查找树:它的左右子树都是平衡二叉树,且左右子树的高度之差不能的绝对值不能超过1。将二叉树结点的平衡因子定义为:该结点的左子树的高度减去右子树的高度,那么所有结点的平衡因子只能是-1、0、1。1.二叉平衡树的判定算法思路:得到左右子树的高度,然后判断该结点的平衡因子是否是-1、0或1。如果不是,则直接返回false;如果是,则递归遍历左右子树。算法一:public
HungerDeng
·
2023-10-28 13:49
必须了解的编程基础 -- 递归篇小节:递归、回溯、分治算法及其在子集、组合、N皇后、归并排序等方面的应用
1.1
剑指Offer
22.链表中倒数第k个节点2关键一条是要保证在每一级调用函数对k的影响都是全局性的。实现方式是,在返回的时候返回要访问的节点。
楚江客
·
2023-10-28 13:16
编程基础
面试
c++
递归法
分治算法
数据结构
【优选算法题练习】day2
文章目录一、11.盛最多水的容器1.题目简介2.解题思路3.代码4.运行结果二、611.有效三角形的个数1.题目简介2.解题思路3.代码4.运行结果三、
剑指Offer
57.和为s的两个数字1.题目简介2
异想繁星
·
2023-10-28 12:43
优选算法题练习
算法
leetcode
Leetcode 剑指 Offer II 050. 路径总和 III
题目难度:中等原题链接今天继续更新Leetcode的
剑指Offer
(专项突击版)系列,大家在公众号算法精选里回复
剑指offer
2就能看到该系列当前连载的所有文章了,记得关注哦~题目描述给定一个二叉树的根节点
随便发挥
·
2023-10-28 11:47
Leetcode
leetcode
算法
职场和发展
【LeetCode 总结】Leetcode 题型分类总结、索引与常用接口函数
题型主要是LeetCodehot100+
剑指Offer
,也有其他的一些高频题每日一题持续更新中零.Java常
喂盐
·
2023-10-28 11:56
LeetCode要每天都刷噢
leetcode
算法
java
数据结构
1024程序员节
模拟卷Leetcode 题解汇总
目录【
剑指Offer
】【简单】【普通】utils做题脚本各种import各种Node其他:PAT乙级-【题目+解答】汇总PAT甲级-【题目+解答】汇总PTA-浙大版《Python程序设计》AC解答汇总GitHub
邂逅模拟卷
·
2023-10-28 11:55
#
leetcode
leetcode
算法
剑指offer
41:数据流中的中位数
题目描述:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。数据范围:数据流中数个数满足1≤n≤1000,大小满足1≤val≤1000进阶:空间复杂度O(n),时间复杂
姚舜禹_12140
·
2023-10-28 10:25
剑指offer
java
后端
算法
数据结构
排序算法
剑指Offer
41—数据流中的中位数
力扣题意如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。例如:[2,3,4]的中位数是3;[2,3]的中位数是(2+3)/2=2.5设计一个支持以下两种操作的数据结构:voidaddNum(intnum):从数据流中添加一个整数到数据结构中。doublefind
心之所向便是光v
·
2023-10-28 09:15
剑指Offer
数据结构
leetcode
c++
算法
剑指offer
剑指 Offer 41. 数据流中的中位数【java详细题解】
剑指Offer
41.数据流中的中位数1.题目如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。
存量美团骑手
·
2023-10-28 09:42
力扣周结
java
排序算法
leetcode
【
剑指Offer
】41.数据流中的中位数
题目如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。数据范围:数据流中数个数满足1≤n≤1000,大小满足1≤val≤1000进阶:空间复杂度O(n),时间复杂度O(
Eran_
·
2023-10-28 09:06
剑指Offer
算法
java
剑指Offer
总结系列-栈队列堆
剑指Offer
总结系列:1.数组与矩阵*2.栈队列堆*3.双指针4.链表5.树6.贪心思想7.二分查找8.分治9.排序10.动态规划11.位运算12.其他有*号代表已经总结好
剑指Offer
09.用两个栈实现队列用两个栈实现一个队列
CookDev-海森堡
·
2023-10-28 09:33
队列
数据结构
算法
python
leetcode
做题笔记
203. 移除链表元素
给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=7输出:[]思路一:另设一个头节点c++解法classSolution{public
si_mple_
·
2023-10-28 09:30
链表
leetcode
笔记
链表
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
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
其他