
数据结构与算法
文章平均质量分 83
为算法工程师
这个作者很懒,什么都没留下…
展开
-
数据结构与算法--双指针法
双指针法移除元素反转字符串剑指Offer 05.替换空格反转链表链表相交环形链表II删除链表的倒数第N个节点移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为原创 2021-10-14 21:38:37 · 125 阅读 · 0 评论 -
数据结构与算法--字符串
字符串字符串二级目录三级目录字符串字符串是由若干字符组成的有限序列,即一个字符数组二级目录三级目录原创 2021-10-13 17:21:22 · 218 阅读 · 0 评论 -
数据结构与算法--哈希表
JAVA-1哈希表二级目录三级目录哈希表哈希表是根据关键码的值而直接进行访问的数据结构.哈希函数:一种映射函数(将源数据转换为需要的格式)哈希碰撞:原数据中经哈希函数映射至同一位置.解决哈希碰撞的两种办法:拉链法和线性探测法拉链法:发生碰撞的元素都存储在对应索引中线性探测法:要求哈希表的大小一定大于源数据大小,当发生冲突时,将其他元素下放至空位中.常见的三种哈希结构:数组二级目录三级目录...原创 2021-10-12 11:31:16 · 292 阅读 · 0 评论 -
数据结构与算法--链表
链表链表移除链表元素反转链表链表单链表:链表是指通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域、一个是指针域(存放指向下一个节点指针),最后一个节点的指针域指向null(空指针)。链表的入口节点称为链表的头节点,即head。双链表:每一个节点有两个指针域,一个指向下一个节点,另一个指向上一个节点。双链表既可以向前查询也可以向后查询。循环列表:链表首尾相连。链表的存储方式: 链表在内存中不是连续分布的,链表通过指针域的指针链接在内存中的各个节点。即链表散乱分布在内存中的某地址原创 2021-10-05 10:35:07 · 179 阅读 · 0 评论 -
数据结构与算法--数组
数组二分查找移除元素有序数组的平方长度最小的子数组螺旋矩阵II二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。注:当数组为有序数组且无重复元素时,可以利用二分查找法返回目标元素的下标。此外二分查找涉及到边界条件,要清楚区间的定义。# 输入 nums = [-1,0,3,5,9,12], target = 9 # 输出 4def solution(nums, targ原创 2021-09-28 20:24:09 · 266 阅读 · 0 评论