
算法
宋七夏
这个作者很懒,什么都没留下…
展开
-
LeetCode题解-双指针
88.合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出: [1,2,2,3,5,6]原创 2020-06-08 09:27:01 · 273 阅读 · 0 评论 -
二分搜索树(二叉排序树)Java实现
二分搜索树(二叉查找树) 参考:《数据结构与算法分析》和《算法(第四版)》 特性 二分搜索树(Binary Search Tree,BST,后面全用BST代替)也可叫做二叉查找树。它不仅可以查找数据,还可以高效地插入、删除数据。 特性: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值; ...原创 2020-05-03 21:12:44 · 493 阅读 · 0 评论 -
字符匹配KMP算法Java实现
KMP算法 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。 暴力匹配 现在需要确定一个字符串needle是否在另一个字符串haystack里面,可以使用最简单得暴力匹配...原创 2020-02-08 18:46:47 · 212 阅读 · 0 评论