key、L
key、L
全部文章
分类
Abaqus(7)
ANSYS(1)
C(2)
IDEA(3)
Java(11)
maven(1)
SSM(2)
web(2)
XML(1)
多线程(1)
工具(1)
数据结构和算法(14)
未归档(13)
架构(1)
算法(2)
题解(2)
归档
标签
去牛客网
登录
/
注册
key、L的博客
全部文章
(共64篇)
算法初阶笔记
0.哈希表的几个性质(1)输入无穷,输出有穷(2)输入一样,输出一定一样。(in same, out same)(3)对于很多的输入域,对应输出域均匀分布 1.哈希表经典结构每个桶里面是单链表。2.JVM哈希表每个桶里面是红黑树结构3.leetcode380设计一个支持在平均 时间复杂度 O(1) ...
算法
2020-02-11
0
940
高频面试算法题--二叉树
1.二叉树的前序、中序、后序的非递归遍历2.返回一个二叉树中某节点的后继节点(leetcode510)后继节点的含义为一颗二叉树中序遍历的某节点的下一个节点,前驱节点为上一个节点。解法:(1)从parent节点一直找到根节点,然后中序遍历该二叉树(时间复杂度较大)(2)从二叉树的中序遍历来看:一个节...
算法
leetcode
2020-02-09
0
810
旋转打印数组leetcode54
输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]用一个宏观的思路去解决。。(左神的思路,凑合着看哈)printEdge函数的作用是打印左上角顶点和右下角顶点的数所围成的矩形。
算法
leetcode
2020-02-07
0
574
高频面试算法题--队列、栈、链表
1.用数组结构实现大小固定的队列和栈一面一题,相对简单。栈:设置一个index,用数组的大小size来限制,每次push()、pop()操作index位置的值队列:设置一个start和end,用size来约束,每次poll()时操作start位置的数,start++;每次offer()时操作end位...
算法
2020-02-07
0
791
求一个数组排序后相邻元素最大差值(不能用非基于比较地排序),要求时间复杂度O(N)
来自左神初级算法地一道高频题。基本思路:(1)n为数组的长度,准备n+1个桶,如果桶里有元素,则标记这个桶为true, 同时每个桶里只统计最大值和最小值。(2)设三个数组,长度均为n+1,分别表示每个桶里是否有元素,最大值和最小值(3)每个桶去寻找左边的非空桶,本桶的最小值减去左边桶的最大值,更新一...
2020-02-07
0
625
收藏网站
(1)来自旧金山大学的一个老师做的网站,以可视化的动态展现形式能帮助更好地理解各种数据结构。 https://www.cs.usfca.edu/~galles/visualization/Algorithms.html(2)Java架构师学习路线图 https://www.processon.com...
2020-02-06
0
665
leetcode算法笔记(持续更新)
5. Longest palindromic substring(最长回文子串):中心扩展算法11. Container With Most Water(盛最多水的容器):双指针法15. 3sum(找到数组中的三个数的下标使得其a+b+c=0):双指针法(先对数组排序,然后去除重复元素,和题11一...
算法
leetcode
2020-01-29
1
736
Java实现单链表的合并
首先定义一个节点类: class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } public int g...
2020-01-06
0
457
Java实现单链表的反转
单链表是一种常见的数据结构,由一个个节点通过指针方式连接而成,每个节点由两部分组成:一是数据域,用于存储节点数据。二是指针域,用于存储下一个节点的地址。leetcode中的单链表节点在Java中定义如下: /** * Definition for singly-linked list. * cla...
2020-01-06
0
633
快速排序
算法思想:基于分治的思想,是冒泡排序的改进型。首先在数组中选择一个基准点(该基准点的选取可能影响快速排序的效率,后面讲解选取的方法),然后分别从数组的两端扫描数组,设两个指示标志(low指向起始位置,high指向末尾),首先从后半部分开始,如果发现有元素比该基准点的值小,就交换low和high位置的...
2019-12-31
0
532
首页
上一页
1
2
3
4
5
6
7
下一页
末页