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
LeetCode-数据结构基础
java
数据结构基础
:单,双向链表
目录单向链表单链表图解代码双向链表编码总结单向链表单向链表比顺序结构的线性表最大的好处就是不用保证存放的位置,它只需要用指针去指向下一个元素就能搞定。单链表图解图画的比较粗糙,简单的讲解一下:上面四个长方形,每个长方形都是一个节点。在长方形中,一种包含两个东西,一个是当前节点的元素,一个是指向下一节点的地址。这个下一个节点的地址指向了下一个节点中的元素。以此类推。在最左边的叫做头节点,同样,最后面
·
2021-07-27 18:22
java
数据结构基础
:绪论
目录基本概念和术语数据数据元素数据项数据对象结构数据结构逻辑结构与物理结构逻辑结构物理结构抽象数据类型总结基本概念和术语要想知道数据结构是什么,我们首先得去知道,数据和结构是什么;数据结构=数据+结构也就是说,我们先去研究数据,再去把这些数据组成一定得样子(结构),自然而然的成了数据结构数据数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别并输入给计算机处理的符号集合这样说可能
·
2021-07-27 18:21
java
数据结构基础
:算法
目录数据结构和算法关系高斯求和算法定义算法的特性算法设计的要求算法效率的度量方法函数的渐进增长总结数据结构和算法关系虽然这个标题起的叫数据结构,但是我却总结算法。。。我不是没事找抽,只是呢,在学数据结构的时候,算法是你肯定离不开的东西。你平时在网上看到的那些文章,在你不经意间搜的时候,是不是都是搜的数据结构与算法这七个字。这说明啥,这说明他们俩是离不开的。给你打个比方,你想看德云社相声(我也想看)
·
2021-07-27 18:21
java
数据结构基础
:线性表
目录前言需求分析编码add方法getIndex方法pop方法insert方法getAll全部代码总结前言其实线性表在生活中和栈的结构差不多。昨天总结了一篇单链表,也是线性表的一种。今天用另一种写法来控制指针的移动实现数据的顺序存储结构。需求分析首先要明确,这种顺序存储结构的线性表底层用什么。根据之前查看过的源码来看,list一般都是以数组为底层。我们也不例外。其次,我们还得去定义好线性表的长度,以
·
2021-07-27 18:50
java
数据结构基础
:栈
目录准备工作编码环节push方法pop方法empty方法全部代码总结准备工作工具:idea+jdk8技术要求:java基础语法编码环节首先,我们得先确定下来,用什么数据来模拟栈的操作。由于是一个一个的元素放入栈里面,我们可以考虑用数组来实现。以上是Java官方文档中的栈定义,我们也只需要实现三个方法:判断是否为空、移除栈顶对象、添加元素到栈的尾部所以我们事先得定义一个数组:Objects[]arr
·
2021-07-27 18:53
leetcode-
两个数组的交集 II
给定两个数组,编写一个函数来计算它们的交集。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2,2]示例2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。进阶:如果给定的数组已经排好序呢?你将如何优化你的算法?如果nums1的大小比
8239e604d437
·
2021-06-26 07:34
LeetCode-
验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例1:输入:"Aman,aplan,acanal:Panama"输出:true示例2:输入:"raceacar"输出:false验证回文字符串是比较常见的问题,所谓回文,就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。但是这里,加入了
G_dalx
·
2021-06-24 12:43
第一章 第一章 Caché 算法和数据结构 基础和概念
第一章Caché算法和
数据结构基础
和概念基本概念数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
Cache技术分享
·
2021-06-22 21:56
leetcode-
电话号码的字母组合
第一次做这种广度优先和深度优先的题目从昨天想到今天,没想出来看了答案理解了好久深度优先是一种递归吧,我觉得。在递归这方面比较薄弱,我理解起来好困难。重新敲一遍的时候,也是很不熟悉。原因总结起来,就是没有深刻理解递归是什么,什么时候使用,怎么用,以及最后代码怎么写。在最后运行起来,也可以看到和广度优先相比,其执行时间和内存消耗都比较大。广度优先感觉比较符合我们常规性逻辑,比较容易理解。但是其特别之处
棉花糖7
·
2021-06-22 20:40
LeetCode-
两数相加
题目给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。示例:输入:(2->4->3)+(5->6->4)输出:7->0->8原因:342+465=807分析这道题要用到python的链表知识,先回顾下:链表的基本
坤飞龙
·
2021-06-22 18:26
【
leetcode-
数组】杨辉三角 II
【
leetcode-
数组】杨辉三角II题目:给定一个非负索引k,其中k≤33,返回杨辉三角的第k行。image在杨辉三角中,每个数是它左上方和右上方的数的和。
程序猿不脱发2
·
2021-06-22 08:25
数据结构与算法基础
思维导图数据结构和算法.png一、数据结构1、
数据结构基础
1.1、什么是数据结构?数据结构:是相互之间存在一种或多种特定关系的数据元素集合。
瞬间完善
·
2021-06-21 14:06
Windows内存管理分析(一)
本文基于IA-32架构,假定读者已经了解IA-32架构下的MMU(具体请阅读Intel手册)如何工作以及拥有良好的
数据结构基础
一、虚拟内存的管理进程地址空间的信息由MMSUPPORT结构体所描述,每个EProcess
看雪学院
·
2021-06-21 12:38
【Leetcode-416】动态规划-分割等和子集
200示例1:输入:[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11].示例2:输入:[1,2,3,5]输出:false来源:力扣(LeetCode)链接:https://
leetcode
Murrey_Xiao
·
2021-06-20 21:53
leetcode-
最大子序和
题目:题目链接https://leetcode-cn.com/problems/maximum-subarray/description/背景:本题为非常经典的一道算法入门题,有着多种非常高效的解题方法,可以帮助答题感受到“找到问题的关键与解决问题的核心最小点”这个思维的关键。原本觉得此题很简单,也很容易给同事们讲清楚。实际在讲的时候发现自己也并没有把所有的方法的根本原理彻底想清楚,所以在此做一个
WolfLC
·
2021-06-20 17:51
算法_
leetcode-
字节跳动
1、两数之和classSolution{public:vectortwoSum(vector&nums,inttarget){for(inti=0;inext;//2.对新链表做头插node->next=newHead;newHead=node;}returnnewHead;}};3、合并两个有序链表将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:
StevenHorse
·
2021-06-20 16:08
LinkdeList源码笔记
目录
数据结构基础
LinkedList源码解析面试知识
数据结构基础
链表的特点1,链表查询数据,需要遍历整个链表,即便是做了优化,判断当前index,确定从前边遍历或者从后边遍历,时间复杂度仍是O(n)。
杨旭_
·
2021-06-15 18:31
leetcode-
反转字符串
编写一个函数,其作用是将输入的字符串反转过来。示例1:输入:"hello"输出:"olleh"示例2:输入:"Aman,aplan,acanal:Panama"输出:"amanaP:lanaca,nalpa,namA"代码/***@param{string}s*@return{string}*/varreverseString=function(s){letresult='';for(leti=s
8239e604d437
·
2021-06-15 06:02
Leetcode-
找数专题
个人github:https://github.com/xiongAlen?tab=repositories1.leetcode268.缺失数字2.leetcode287.寻找重复数3.leetcode41.缺失的第一个正数1.leetcode268.缺失数字题目描述:给定一个包含0,1,2,...,n中n个数的序列,找出0..n中没有出现在序列中的那个数。思路1:排序。分析:首先对数组进行排序,
枫叶忆
·
2021-06-14 03:23
数据结构基础
知识
1.哈希(Hash)计数排序中的桶,比快排快数组就是哈希2.队列(Queue)先进先出可以用数组实现操作用:push进shift出举例:火车站买票,先买先进3.栈(Stack)先进后出可以用数组实现操作用:push进pop出举例:进电梯,先进的人后出4.链表链表比数组的好处是,删除中间的一项很简单,但是查询中间的一项很麻烦image.png5.树(tree)举例:层级结构、DOM概念:层数、深度、
浮云都想对你说
·
2021-06-13 13:10
leetcode-
数组-买卖股票的最佳时机 II(Python3)
给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:[7,1,5,3,6,4]输出:7解释:在第2天(股票价格=1)的时候买入,在第3天(股票价格=5)的时候卖出,这笔交易所能获得利润=5-1=4。随后,在第4天(股票价格=
lqy007700
·
2021-06-12 00:00
LeetCode-
删除链表中的节点
删除链表中等于给定值val的所有节点。示例:输入:1->2->6->3->4->5->6,val=6输出:1->2->3->4->5这道题目,只需判断节点的值是否与给出的值相等,删除即可。不过需要考虑到,删除头结点的问题,需要一个头指针来指向头结点;还需知道,每个节点的前驱,方便删除后的连接。structListNode*removeElements(structListNode*head,int
Pei丶Code
·
2021-06-10 20:59
ArrayList 源码笔记
哈哈哈目录
数据结构基础
扩容增删改查面试知识
数据结构基础
数据存储只有两种形式,第一种数组,第二种链表,其他的树和图,堆栈,队列都是从这两个基础数据上衍生出来的,只是为了解决特定的问题进行的封装。
杨旭_
·
2021-06-10 18:31
leetcode-
二叉树——按层遍历二叉树
给定一个二叉树,返回其节点值自底向上的层次遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树[3,9,20,null,null,15,7],image.png返回其自底向上的层次遍历为:[[15,7],[9,20],[3]]classSolution:deflevelOrderBottom(self,root):queue=[]#结果列表cur=[root]#接下来要
Cherich_sun
·
2021-06-09 13:02
面试归来,整理阿里社招最新面试题及答案
当然这些肯定是会问的,对于算法因为作者参加了算法大赛,类似问题问的少,但是第四面还是提到了动态规划问题,所以也要准备一下,
数据结构基础
也要注意复习一下,以备
Java_苏先生
·
2021-06-09 04:52
LeetCode-
会议室2
会议室2给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间[[s1,e1],[s2,e2],…](si>&intervals){std::sort(intervals.begin(),intervals.end(),[](vector&x1,vector&x2){returnx1[0],greater>meetingEndTimeHeap;for(auto&eachElem:inte
疯狂的喵喵
·
2021-06-08 04:18
Leetcode-
第24题:Swap Nodes in Pairs
题目:Givenalinkedlist,swapeverytwoadjacentnodesandreturnitshead.Forexample,Given1->2->3->4,youshouldreturnthelistas2->1->4->3.代码:defswapPairs(self,head):""":typehead:ListNode:rtype:ListNode"""pre=Nonep1
八刀一闪
·
2021-06-07 13:51
leetcode-
组队竞赛-69
题目要求 牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如: 一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3 一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3 一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平
天津 唐秙
·
2021-06-02 23:39
oj题
leetcode-
合并两个排序的链表-66
题目要求 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。思路 如果两个链表有一个为空,返回另一个,均不为空,我们创建一个头结点,将两个链表中的值进行比较,将较小的节点放到头结点后面,直到两个链表中有一个被链接完,将另一个链表的剩余节点也链接到后面,头结点向后移一个,把头节点释放。代码实现classSolution{public:ListNode*mergeTwoLi
天津 唐秙
·
2021-05-26 23:15
oj题
数据结构基础
笔记002 算法形式规范【未完】
《
数据结构基础
》作者:[美]EllisHorowitz霍罗维兹译者:朱仲涛出版社:清华大学出版社ISBN:9787302186960在豆瓣读书中查看本书算法综论对于大规模计算机系统,设计高效算法是解决问题的核心
Cytosine
·
2021-05-16 20:41
leetcode-
最小栈-59
题目要求 设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。 push(x)——将元素x推入栈中。 pop()——删除栈顶的元素。 top()——获取栈顶元素。 getMin()——检索栈中的最小元素。思路 设计上两个栈,data_st负责存储数据,和正常的栈一样,还有一个min_st,只负责存储小的元素,当有和min_st栈顶元素大小一样或者相等的元素存储
天津 唐秙
·
2021-05-16 12:39
oj题
一起学算法-34. 在排序数组中查找元素的第一个和最后一个位置
一、题目
LeetCode-
算法入门-34.在排序数组中查找元素的第一个和最后一个位置地址:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array
Justin小贾同学
·
2021-05-16 10:35
Java
数据结构基础
Java中的CollectionsAPI主要包含两个独立的树形结构--Collection和MapCollection接口Collection接口1.Queue除了基本的Collection接口中定义的操作,还提供其他插入、删除、元素检查等操作。限定元素个数的称为有界队列。publicinterfaceQueueextendsCollection{//元素检查Eelement();//插入bool
一只小松
·
2021-05-13 20:14
今日头条岗位简介
【岗位要求】1.良好的算法与
数据结构基础
,扎实的编程能力,对服务端开发和网络服务有深刻的认识;2.熟悉Mysql.Memcached.Red
TonyLan
·
2021-05-12 04:36
leetcode-
顺时针打印矩阵-50
题目要求 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。思路 模拟二维矩阵的边界,如果打印过,边界就对应缩小,直到将数组内的元素打印完。代码实现classSolution{public:vectorspiralOrder(vector>&matrix){if(matrix.empty())return{};intb=matrix.size()-1;//下边界intr=matri
天津 唐秙
·
2021-05-08 13:48
oj题
排序算法
算法与
数据结构基础
查找算法:二分查找法:简介:二分查找法又被称为折半查找法,用于预排序的查找问题过程:如果在列表a中查找元素t,先将列表a中间位置的项与查找关键字t比较,如果两者相等,则成功。
流浪山人
·
2021-05-06 07:13
Leetcode-
无重复字符的最长字串(Longest Substring Without Repeating Characters )
题目:Givenastring,findthelengthofthelongestsubstringwithoutrepeatingcharacters.Examples:Given"abcabcbb",theansweris"abc",whichthelengthis3.Given"bbbbb",theansweris"b",withthelengthof1.Given"pwwkew",thea
arakim
·
2021-05-05 23:02
数据结构基础
--栈和队列
目录基本性质栈和队列的基本操作双端队列和优先级队列深度优先遍历(DFS)和广度优先遍历(BFS)递归函数与系统函数栈实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作如何保存最小值仅用栈结构实现队列结构如何保证栈结构能够先进先出何时进行倾倒操作仅用队列结构实现栈结实现一个栈的逆序,不能申请额外的数据结构,只能使用栈本身的功能移除栈底元素,并将其返回将栈中的元素排序基本性质栈
kirito_song
·
2021-05-05 18:34
leetcode-
只出现一次的数字 III-42
题目要求 给定一个整数数组nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。找出只出现一次的那两个元素。你可以按任意顺序返回答案。思路 先将数组当中所有的元素按位异或,找到按位异或结果最低为1的位,然后拿着这一个位和所有的数字按位与,将那一位为1的分为一组,将那一位为0的分为一组,就一定会将两个数字分开到两个组中,然后每个组分别按位异或,结果就是两个目标值。代码实现classSo
天津 唐秙
·
2021-05-04 10:57
oj题
数据结构基础
--链表
目录基本性质链表的分类按连接方向分类按照有无循环分类链表问题代码实现的关键点链表插入和删除的注意事项链表翻转向一个有序的环境链表中插入一个节点,并保持依旧有序对于一个单链表,在不给定head的情况下删除指定node。要求时间复杂度O(1)给定一个链表,与一个数组num。要求实现荷兰国旗给定两个有序链表的head,打印共同部分给定一个单链表的head,实现一个调整链表的函数,使得每K个节点之间逆序,
kirito_song
·
2021-05-02 02:37
数据结构基础
笔记003 数据抽象
《
数据结构基础
》作者:[美]EllisHorowitz霍罗维兹译者:朱仲涛出版社:清华大学出版社ISBN:9787302186960在豆瓣读书中查看本书数据类型定义:数据类型是数据对象和施加在数据对象上操作的聚合体
Cytosine
·
2021-04-29 14:58
leetcode-
删除有序数组中的重复项
题目链接:题目传送门题目大意是,存在一个已经排好序的数组,数组中可能存在数值重复的数据,设法去重,并返回去重以后数组的个数如果要去重的话,最先想到的方法是:对于元素arr[i]i>=1,如果存在arr[i-1]==a[i],则将arr[i]到a[arr.length-1]的元素集体向前移动一位,重复以上操作,直到i>=arr.length,显然这样操作需要进行大量的移动操作。快慢指针是双指针的一种
zzuli_xiaomingke
·
2021-04-28 13:34
leetcode
java
leetcode
数据结构
leetcode-
最长回文子串
题目链接:题目传送门给定一个原始串,寻找当前串的最长回文子串,例如,存在字符串:str=“abba”,它的最长回文子串是:sub=“abba”对于回文子串,采用的方式一般两种,一种是dp,为什么能用dp呢,应为不难看出,每一步选择某个字符或者丢弃都会对最终的结果造成影响。扩散法,指的则是,先穷举字符串的每一个字符并以之为中心,然后如果最终的回文串有奇数个元素,则当前当前元素两侧的元素应该是相同的,
zzuli_xiaomingke
·
2021-04-26 20:55
leetcode
字符串
Java:
LeetCode-
两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。翻译了一下英文的简单的思路就是遍历两遍数组,找到两个值相加,很明显,这是n2的复杂度另外一个简单的思路就是用空间换时间,由于告诉你不会重复,不用set用hashmap就好了key为值,value为下标。时间复杂度O(N)。publicstaticint[]twonumadd(i
yesski
·
2021-04-25 10:05
通俗易懂的Redis
数据结构基础
教程(入门)
Redis有5个基本数据结构,string、list、hash、set和zset。它们是日常开发中使用频率非常高应用最为广泛的数据结构,把这5个数据结构都吃透了,你就掌握了Redis应用知识的一半了。string首先我们从string谈起。string表示的是一个可变的字节数组,我们初始化字符串的内容、可以拿到字符串的长度,可以获取string的子串,可以覆盖string的子串内容,可以追加子串。
·
2021-04-23 12:33
leetcode-
两数之和 python
#@lcapp=leetcode.cnid=1lang=python3#[1]两数之和#@lccode=startclassSolution:defbruteForcetwoSum(self,nums:List[int],target:int)->List[int]:"""暴力遍历法Timecomplexity:O(n^2)Spacecomplexity:O(1)"""fori_first,v_f
Johnson_Yep
·
2021-04-22 19:03
Leetcode-
托普利茨矩阵.766
766托普利茨矩阵题目描述:给你一个mxn的矩阵matrix。如果这个矩阵是托普利茨矩阵,返回true;否则,返回false。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是托普利茨矩阵。image.png解题思路:判断矩阵中当前元素和右下角元素是否相同。Java版:classSolution{publicbooleanisToeplitzMatrix(int[][]matrix
黄sir_
·
2021-04-19 11:52
leetcode-
加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储一个数字。你可以假设除了整数0之外,这个整数不会以零开头。示例1:输入:[1,2,3]输出:[1,2,4]解释:输入数组表示数字123。示例2:输入:[4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字4321。代码/***@param{number[]}digits*@r
8239e604d437
·
2021-04-17 16:01
题解_
数据结构基础
练习
题目:1、定义一个方法listTest(ArrayListlist,Stringname),要求返回name在list里面第一次出现的索引,如果name没出现过返回-1。2、已知数组存放一批QQ号码,长度5-11位,String[]strs={“10001”,“10086”,“12347806666”,“45612378901”,“10001”,“12347806666”}。将该数组里面的所有qq
The_Obscure
·
2021-04-15 16:24
LeetCode-
两数之和
题目链接=>戳这里题目描述:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]解法1:暴力遍历classSolution{public
沙漠小舟
·
2021-04-15 00:44
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他