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
CodeTop刷题笔记
【算法训练-二分查找 三】【特殊二分】寻找峰值
本篇Blog的主题是【数组的二分查找】,使用【数组】这个基本的数据结构来实现,这个高频题的站点是:
CodeTop
,筛选条件为:目标公司+最近一年+出现频率排序,由高到低的去牛客TOP101去找,只有两个地方都出现过才做这道题
存在morning
·
2023-10-04 14:21
#
二分查找
算法
[代码随想录算法训练营]
刷题笔记
Day 1
数组数组在内存中是一连续的空间,用来存放相同数据格式。下标从零开始,且多维数组在内存中其地址也是连成一条线的。704.二分查找classSolution{public:intsearch(vector&nums,inttarget){intmid=nums.size()/2;intleft=0;intright=nums.size()-1;intresult=-1;while(lefttarget
f44011097
·
2023-10-04 07:28
数据结构
[代码随想录算法训练营]
刷题笔记
Day 3
203.移除链表元素移除节点的时后我们必须知道移除的上一个节点,移除的下一个节点。因此比较好的思路是站在所要移除得上一个节点去移除节点。为了保持一致,在头结点比需加入一个虚拟的节点。classSolution{public:ListNode*removeElements(ListNode*head,intval){ListNode*dummy=newListNode(0,head);ListNod
f44011097
·
2023-10-04 07:28
算法
链表
数据结构
[代码随想录算法训练营]
刷题笔记
Day 8
344.反转字符串双指针代码应用classSolution{public:voidreverseString(vector&s){intsize=s.size();for(intleft=0,right=size-1;right>left;left++,right--){swap(s[left],s[right]);}}};541.反转字符串II很快就想出思路了,但有小细节没有做好。classSo
f44011097
·
2023-10-04 07:28
算法
leetcode
c++
看了齐姐这篇文章,再也不怕面试问树了
微信搜索「码农田小齐」,关注这个在纽约的程序媛,回复「01-05」可以获取计算机精选书籍、个人
刷题笔记
、大厂面经、面试资料等资源,么么哒~在写完了所有线性数据结构之后,今天开启非线性数据结构系列。
码农田小齐
·
2023-10-04 02:56
【算法训练-字符串 三】字符串相加
本篇Blog的主题是【字符串相加】,使用【字符串】这个基本的数据结构来实现,这个高频题的站点是:
CodeTop
,筛选条件为:目标公司+最近一年+出现频率排序,由高到低的去牛客TOP101去找,只有两个地方都出现过才做这道题
存在morning
·
2023-10-03 21:08
#
字符串
算法
【算法训练-搜索算法 一】【DFS网格搜索框架】岛屿数量、岛屿的最大面积、岛屿的周长
本篇Blog的主题是【搜索算法】,使用【数组】这个基本的数据结构来实现,这个高频题的站点是:
CodeTop
,筛选条件为:目标公司+最近一年+出现频率排序,由高到低的去牛客TOP101去找,只有两个地方都出现过才做这道题
存在morning
·
2023-10-03 18:24
#
搜索算法
算法
深度优先
LeetCode Java
刷题笔记
— 450. 删除二叉搜索树中的节点
450.删除二叉搜索树中的节点给定一个二叉搜索树的根节点root和一个值key,删除二叉搜索树中的key对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。中等难度。有两种方式一种是递归,另一种是非递归。我们首先要找到被值相同的节点A:如果该节点的一个子树为空,那么用另一个子树的根节点代替当前节点的位置即可。如果该节点的两个子树都为空,那么删除该节点即可,这就是第
刘Java
·
2023-10-02 19:26
java
leetcode
算法
删除二叉搜索树中的节点
Leetcode顺序
刷题笔记
(饱含注释版)
文章目录1、两数之和2、两数相加3、有效的括号4、合并两个有序链表5、括号生成6、移除元素7、搜索插入位置8、字母异位词分组9、将数组分成三个子数组的方案数10、不同路径1、两数之和解法:暴力法:双指针HashMap法:元素->缩影拿元素作为key,索引作为value。然后用target-key返回value;classSolution{public:vectortwoSum(vector&num
温州草履虫
·
2023-10-02 17:21
【leetcode
刷题笔记
】十八、一维数组的动态和
解题思路如果不新建一个数组,要一边加和一边同步更新感觉不太好操作,所以新建一个同样大小的数组,然后就是双重循环了,一层循环用来更新新数组的每一个数字,另一层循环用于求和代码classSolution{publicint[]runningSum(int[]nums){int[]nums1=newint[nums.length];for(inti=0;i
z1k
·
2023-10-02 17:21
刷题
leetcode
算法
c语言
数据研发笔试Leetcode
刷题笔记
02:二维数组中的查找
文章目录1题目描述2解题思路2.1直接遍历二维数组2.2巧妙利用标志数性质2.3递归3代码实现(Python3)4复杂度分析1题目描述来源:力扣(LeetCode)在一个n*m的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。2解题思路2.1直接遍历二维数组如果不考虑二维数组排好序的特点
Lynn Wen
·
2023-10-02 17:51
算法
数据结构
leetcode
排序算法
python
leetcode
刷题笔记
_数组和字符串
数组和字符串数组简介寻找数组的中心索引给你一个整数数组nums,请计算数组的中心下标。数组中心下标是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为0,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回最靠近左边的那一个。如果数组不存在中心下标,返回-1。作者:力扣(LeetCode)
学不会就继续学
·
2023-10-02 17:20
leetcode
数据结构
c# LeetCode
刷题笔记
5- 一维数组的动态和
c#LeetCode
刷题笔记
5-一维数组的动态和给你一个数组nums。数组「动态和」的计算公式为:runningSum[i]=sum(nums[0]…nums[i])。请返回nums的动态和。
酥酥禾
·
2023-10-02 17:19
leetcode
算法
数据结构
leetcode
刷题笔记
-数组1
最近开始在leetcode刷题,记录一下每日发现。因为自己python也是半吊子水平,权且当顺便学习python了。股票问题给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。使用动态规划方法。这个问题的「状态」有三个,第一个是天数,第二
弥钥
·
2023-10-02 17:19
leetcode
leetcode
刷题笔记
2-数组
数组代码随想录
刷题笔记
代码随想录(programmercarl.com)理论基础1.1数组在内存中的存储方式数组是存放在连续内存空间上的相同类型数据的集合。
infinite.?
·
2023-10-02 17:48
算法笔记
leetcode
leetcode
算法
数据结构
Leetcode
刷题笔记
-1480. 一维数组的动态和
1480.一维数组的动态和给你一个数组nums。数组「动态和」的计算公式为:runningSum[i]=sum(nums[0]…nums[i])。请返回nums的动态和。示例1:输入:nums=[1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为[1,1+2,1+2+3,1+2+3+4]。示例2:输入:nums=[1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为
如渊
·
2023-10-02 17:48
Leetcode刷题笔记
leetcode
算法
职场和发展
python
java
【LeetCode
刷题笔记
】一维数组
1.两数之和解题思路:哈希,每次循环将元素值和对应下标放入map中,每次更新map之前先判断一下,如果map中已经包含target-nums[i]的key,则找到答案,返回当前下标和之前的key对应的下标。167.两数之和II-输入有序数组解题思路:1.对撞指针,L从0开始,R从N-1开始,搜索nums[L]+nums[R]的和,如果等于target,就返回L+1和R+1,否则如果小于target
川峰
·
2023-10-02 17:16
LeetCode刷题笔记
LeetCode
数据结构与算法
一维数组
【C++
刷题笔记
】螺旋矩阵 - 上三角
#include"iostream"#include"vector"usingnamespacestd;vector>generateMatrix_T(intn){vector>v(n,vector(n,0));intcount=1;intx=0,y=0;intstartX=0,startY=0;intnum=n*(n+1)/2;while(countstartX){v[x][y]=count;c
Go 鹏ya
·
2023-10-02 06:54
刷题
C++
c++
笔记
矩阵
【C++
刷题笔记
】螺旋矩阵的两种写法
螺旋矩阵有两种判断大循环结束的方式,第一种是判断需要循环多少次,奇数的话需要额外处理;第二种通过取多少个数判断,不需要额外处理方法一:classSolution{public:vectorspiralOrder(vector>&matrix){vector>&v=matrix;vectorret;intx=0,y=0;//x表示当前这一圈的最左上角的纵向起始坐标,y表示横向起始坐标intw=v[0
Go 鹏ya
·
2023-10-02 06:21
刷题
C++
c++
笔记
矩阵
【
刷题笔记
10.2】LeetCode: 罗马数字转整数
LeetCode:罗马数字转整数一、题目描述二、分析方法一:将给定字符串s中的"IV",“IX”,“XL”,“XC”,“CD”,“CM”全部替换为其他字符如:a,b,c,d,e,f这种,然后就可以遍历累加了。s=s.replace("IV","a");s=s.replace("IX","b");s=s.replace("XL","c");s=s.replace("XC","d");s=s.repl
时间_wys
·
2023-10-02 06:29
笔记
leetcode
linux
LeetCode
刷题笔记
(一)数组——二分查找法
LeetCode
刷题笔记
(一)数组——二分查找法提示:刷题顺序参考文章目录LeetCode
刷题笔记
(一)数组——二分查找法前言一、概述二、代码模板(c++)1.版本一2.版本二三、相关题目四、相关知识1
祝我年少有为!
·
2023-09-30 20:58
LeetCode刷题笔记
c语言
c++
数据结构
算法
Leetcode
刷题笔记
——剑指offer II (四)【队列、树】
目录队列剑指OfferII041.滑动窗口的平均值(单调队列)剑指Offer59-I.滑动窗口的最大值树树的存储(先序)剑指OfferII048.序列化与反序列化二叉树BFS遍历剑指OfferII043.往完全二叉树添加节点剑指OfferII045.二叉树最底层最左边的值剑指OfferII046.二叉树的右侧视图(堆式存储记录法)662.二叉树最大宽度DFS遍历(自顶向下,非自顶向下)(后序遍历+
Deep_My
·
2023-09-30 20:28
leecode刷题
leetcode
算法
数据结构
Leetcode
刷题笔记
——剑指offer II (一)【整数、数组、字符串、链表】
目录整数剑指OfferII001.整数除法剑指OfferII002.二进制加法剑指OfferII003.前n个数字二进制中1的个数剑指OfferII004.只出现一次的数字剑指OfferII005.单词长度的最大乘积剑指OfferII006.排序数组中两个数字之和数组剑指OfferII007.数组中和为0的三个数剑指OfferII009.乘积小于K的子数组剑指OfferII014.字符串中的变位词
Deep_My
·
2023-09-30 20:27
leecode刷题
leetcode
c++
leetcode
刷题笔记
——剑指offer(二)[回溯、排序、位运算、数学、字符串]
这里写目录标题搜索与回溯剑指Offer12.矩阵中的路径剑指Offer13.机器人的运动范围剑指Offer34.二叉树中和为某一值的路径剑指Offer36.二叉搜索树与双向链表剑指Offer54.二叉搜索树的第k大节点排序(快排)912.SortanArray(归并)148.排序链表剑指Offer45.把数组排成最小的数剑指Offer40.最小的k个数剑指Offer41.数据流中的中位数剑指Off
Deep_My
·
2023-09-30 20:27
leecode刷题
leetcode
算法
c++
LeetCode
刷题笔记
——计算右侧小于当前元素的个数
LeetCode
刷题笔记
——计算右侧小于当前元素的个数315.计算右侧小于当前元素的个数题目描述给定一个整数数组nums,按要求返回一个新数组counts。
xjtu-lining
·
2023-09-30 20:57
刷LeetCode
LeetCode
刷题笔记
——二分查找
LeetCode
刷题笔记
——二分查找细节问题:不等号是否应该取等于mid是否应该加一二分查找框架intbinarySearch(int[]nums,inttarget){intleft=0,right=
xjtu-lining
·
2023-09-30 20:57
leetcode
LeetCode
刷题笔记
——二分法
前言咕咕了一周的算法专题今日起正式回归啦,今天总结一个看起来好像很简单,但实际上有点难的二分法算法解释二分查找也常被称为二分法或者折半查找,每次查找时通过将待查找区间分成两部分并只取一部分继续查找,将查找的复杂度大大减少。例题Sqrt(69)题目描述给定一个非负整数,求它的开方,向下取整。解题思路很简单,直接看代码吧参考代码intmy_sqrt(intnum){if(num==0)return0;
T_T-T_T
·
2023-09-30 20:57
LeetCode刷题笔记
c++
leetcode
刷题笔记
——704、278、35二分查找
二分查找二分查找模板classSolution{public:intsearch(vector&nums,inttarget){intlow=0;inthigh=nums.size()-1;while(low&nums,inttarget){intlow=0;inthigh=nums.size()-1;intres=0;while(low<=high){intmid=low+(high-low)/
高木同学丶
·
2023-09-30 20:56
leetcode
Leetcode
刷题笔记
——查找
33.SearchinRotatedSortedArray题目描述:给定一个被翻转的整型升序数组nums,数组中无重复元素,如[4,5,6,7,0,1,2],和一个整数target。要求在被翻转过的数组中找到target的位置,若不存在,则返回-1。并且算法的时间复杂度要求为O(logn)。自己的思路:如果是有序数组,则使用二分查找就可以将复杂度控制在O(logn)了。所以问题集中在找到翻转中轴,
weixin_30421525
·
2023-09-30 20:56
Leetcode
刷题笔记
——剑指 Offer 41. 数据流中的中位数(困难)
文章目录题目描述解法复杂度分析C++代码实现参考链接题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。设计一个支持以下两种操作的数据结构:voidaddNum(intnum)-从数据流中添加一个整数到数据结构中。doublefindMedian()-返回目
卑微小岳在线debug
·
2023-09-30 20:56
Leetcode刷题
leetcode
数据结构
算法
Leetcode
刷题笔记
(C++)——二分查找
Leetcode
刷题笔记
(C++)——二分查找整理一下刷题过程中的思路,在这里进行一下总结与分享。
L的知识库
·
2023-09-30 20:56
Leetcode刷题笔记
数据结构
leetcode
c++
算法
leetcode
刷题笔记
——week9
week929.两数相除题目描述:给你两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和取余运算。整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345将被截断为8,-2.7335将被截断至-2。返回被除数dividend除以除数divisor得到的商。**注意:**假设我们的环境只能存储32位有符号整数,其数值范围是[−231−2^
renzailaodo
·
2023-09-30 20:55
leetcode刷题笔记
leetcode
笔记
算法
LeetCode
刷题笔记
——递归问题
目录一、递归的基本概念1.1、什么是递归1.2、递归类题目的特点二、递归题目详解2.1、快速排序算法2.2、合并两个有序链表2.3、二叉树最大深度问题2.4、平衡二叉树判断2.5、二叉树的坡度2.6、二叉树搜索节点最小距离2.7、递增顺序查找树2.8、两数相加2.9、电话号码的数字组合2.10、两两交换列表中的节点2.11、验证二叉搜索树2.12、二叉树的右视图2.13、至少有K个重复字符的最长子
崔同学提了个桶
·
2023-09-30 20:25
LeetCode刷题笔记
算法
leetcode
刷题笔记
——深度优先搜索
leetcode
刷题笔记
——深度优先搜索目前完成的深度优先搜索相关的leetcode算法题序号:简单:257中等:200,417来源:力扣(LeetCode)链接:https://leetcode-cn.com
季建豪
·
2023-09-30 20:25
数据结构与算法
算法
二叉树
python
dfs
leetcode
刷题笔记
——二分查找
模式识别:有序或部分有序,基本使用二分搜索极其变种算法:丢弃一半的数据模板:while(lefttarget){//下一轮搜索区间:[left..mid-1]right=mid-1;}else{//此时nums[mid]>1;
吉祥如意_
·
2023-09-30 20:24
算法
leetcode
数据结构
【算法训练-贪心算法】一 买卖股票的最佳时机II
本篇Blog的主题是【贪心算法】,使用【数组】这个基本的数据结构来实现,这个高频题的站点是:
CodeTop
,筛选条件为:目标公司+最近一年+出现频率排序,由高到低的去牛客TOP101去找,只有两个地方都出现过才做这道题
存在morning
·
2023-09-30 19:49
#
贪心算法
算法
贪心算法
《数据结构与算法》学习笔记之总纲
leetcode刷题:针对LeetCode的
刷题笔记
,作者在更新
刷题笔记
。算法学习笔记:还算不错的算法学习笔记,作者在持续更新中。十大经典排序算
志威梦
·
2023-09-30 16:14
sql
刷题笔记
(五)
题目选自leetcode上的题库可能不一定都是最优解,答案仅供参考每道题后面都应相应的难度等级,如果没时间做的话可以在leetcode按出题频率刷题祝大家面试取得好的成绩1193.每月交易I难度中等SQL架构Table:Transactions+---------------+---------+|ColumnName|Type|+---------------+---------+|id|int
顾子豪
·
2023-09-30 14:43
【
刷题笔记
9.30】LeetCode:买卖股票的最佳时机
LeetCode:买卖股票的最佳时机一、题目描述二、分析解决此题涉及到的算法为:动态规划1、创建变量maxPrice用于记录最大利润值,初始值为02、创建变量minPrice用于记录当前最低价格3、一次循环遍历,如果当前股票价格小于最低价格,则替换最低价格minPrices,else如果当前价格-最低价格minPrice>最大利润maxPrice,则替换maxPrice的值为当前价格-最低价格mi
时间_wys
·
2023-09-30 12:34
笔记
leetcode
算法
leetcode
刷题笔记
--3. Longest Substring Without Repeating Characters
原题链接3.LongestSubstringWithoutRepeatingCharactersGivenastring,findthelengthofthelongestsubstringwithoutrepeatingcharacters.Example1:Input:"abcabcbb"Output:3Explanation:Theansweris"abc",withthelengthof3
煮酒_zzh
·
2023-09-30 06:55
L1-028 判断素数(Python实现) 测试点全过
发布个人的
刷题笔记
的同时,也是希望可以帮助到有需要的人,我会尽量的解释每一步代码,如有错误或者可以优化的地方还望各位CSDN的朋友可以指出来。更新速度预计是每天不定时更新三道,若当天没有更
杂家_梦生
·
2023-09-29 17:46
python
算法
数据结构
【算法训练-动态规划】二 买卖股票的最佳时机
本篇Blog的主题是【动态规划】,使用【数组】这个基本的数据结构来实现,这个高频题的站点是:
CodeTop
,筛选条件为:目标公司+最近一年+出现频率排序,由高到低的去牛客TOP101去找,只有两个地方都出现过才做这道题
存在morning
·
2023-09-29 10:31
#
动态规划
算法
动态规划
代码随想录
刷题笔记
4——字符串
反转字符串例题344(简单)反转字符串注意要点:只需要遍历一半,每次交换首尾即可。下面贴出代码:CPP版本classSolution{public:voidreverseString(vector&s){for(inti=0;i=0,j>=0;i--,j--){if(s[j]==''){s[i--]='0';s[i--]='2';s[i]='%';}else{s[i]=s[j];}}returns
努力自学的小夏
·
2023-09-29 00:07
leetcode刷题
笔记
c++
c语言
算法
leetcode
leetcode
刷题笔记
——字典
字典:在计算机中指信息及其索引,也可以理解成Key-Value的关联数组或者map。(本质上是key与value构成的笛卡尔积的子集,不同于数学中的映射,其可以是一对多的关系)。key可以是数字、字符串或更复杂的结构等。实现字典的常用数据结构有:hash表、字典树(trie)、二叉树、B树等。
吉祥如意_
·
2023-09-29 00:06
leetcode
笔记
算法
leetcode
刷题笔记
/代码随想录笔记——移除字符串中多余空格
1.使用erase()函数voidremoveExtraSpaces(string&s){for(inti=s.size()-1;i>0;i--){if(s[i]==s[i-1]&&s[i]==''){s.erase(s.begin()+i);}}//删除字符串最后面的空格if(s.size()>0&&s[s.size()-1]==''){s.erase(s.begin()+s.size()-1)
吉祥如意_
·
2023-09-29 00:54
leetcode
笔记
linux
代码随想录
刷题笔记
10——动态规划
动态规划理论基础动态规划定义动态规划,英文:DynamicProgramming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。动态规划解题步骤对于动态规划问题,代码随想录的解析方法是拆解为如下五步曲,这五步都搞清楚了,动态规划的题目做起来就会比较顺畅。确定dp数组
努力自学的小夏
·
2023-09-28 20:49
leetcode刷题
笔记
动态规划
学习
leetcode
【合集】编程启示录
【合集】编程启示录一、数据结构漫谈扁扁笨算法-AVL树的插入与删除扁扁笨算法-B树的插入与删除二叉树的遍历大冒险二、力扣
刷题笔记
编程启示录:栈的拿手好戏编程启示录:链表七怪三、编程语法切片NULL四、滚滚而来小车轮编程启示录
繁星依月
·
2023-09-28 12:30
数据结构
Leetcode
刷题笔记
(六) —— 哈希表篇之经典题目
文章目录系列文章目录前言map的遍历方式题录1.map作为哈希表242.有效的字母异位词383.赎金信1.两数之和2.set作为哈希表349.两个数组的交集202.快乐数系列文章目录一、数组类型解题方法一:二分法二、数组类型解题方法二:双指针法三、数组类型解题方法三:滑动窗口四、数组类型解题方法四:模拟五、链表篇之链表的基础操作和经典题目六、哈希表篇之经典题目七、字符串篇之经典题目八、字符串篇之K
a1241692733
·
2023-09-28 01:21
算法
leetcode
散列表
java
Leetcode
刷题笔记
(八) —— 字符串篇之 KMP
文章目录系列文章目录前言什么是KMP算法?next数组题录28.实现strStr()459.重复的子字符串系列文章目录一、数组类型解题方法一:二分法二、数组类型解题方法二:双指针法三、数组类型解题方法三:滑动窗口四、数组类型解题方法四:模拟五、链表篇之链表的基础操作和经典题目六、哈希表篇之经典题目七、字符串篇之经典题目八、字符串篇之KMP九、解题方法:双指针十、栈与队列篇之经典题目十一、栈与队列篇
a1241692733
·
2023-09-28 01:21
算法
leetcode
算法
leetcode
刷题笔记
本
leetcode
刷题笔记
本基础数据结构1.字符串substr()用法:s.substr(i,j)表示从下标为i的位置开始截取j位形式:s.substr(pos,len)返回值:string,包含s中从pos
90的尾巴
·
2023-09-28 01:21
leetcode
算法
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他