- 博客(4)
- 收藏
- 关注
原创 回溯(子集问题,超时)and 动态规划(LeetCode 368:最大整除子集)
LeetCode 368:最大整除子集 给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足: answer[i] % answer[j] == 0 ,或 answer[j] % answer[i] ==0 如果存在多个有效解子集,返回其中任何一个均可。 示例 1: 输入:nums = [1,2,3] 输出:[1,2] 解释:[1,3] 也会被视为正确答案。 示例 2: 输入:nums
2021-04-23 16:26:11
412
原创 KMP算法(LeetCode 28题:实现strStr())
KMP模式匹配算法 KMP算法一般用于字符串匹配,即从文本串(text string)中找到与其匹配的模式串(pattern string)。 例如:文本串:a a b a a b a a f;模式串:a a b a a f。 解释:其文本串中出现了模式串,则称其字符串是匹配的。 LeetCode 28题:实现strStr() 实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)
2021-04-22 15:42:05
276
原创 lower_bound和upper_bound的用法(C++)
头文件:lower_bound和upper_bound在头文件algorithm中; 解释:lower_bound和upper_bound为二分法查找元素,其时间复杂度为O(log n)。 一、数组中的lower_bound和upper_bound 对于一个排序数组 nums[5]{1, 2, 5, 7, 9}; (1) int i = lower_bound(nums, nums + n, val) - nums; 函数解释:lower_bound函数返回数组 nums 中大于等于 val 的第一个元素的
2021-04-19 21:13:16
3630
6
原创 二叉搜索树(LeetCode相关题解(递归求解))
前言 LeetCode 700:二叉搜索树中的搜索 LeetCode 701:二叉搜索树的插入操作 LeetCode 450:删除二叉搜索树中的节点 LeetCode 669:修剪二叉搜索树 一、什么是二叉搜索树 1、空树是二叉搜索树 2、若不为空则应具有以下3条性质: 若它的左子树不为空,则左子树上所有节点的值均小于它的根节点的值; 若它的右子树不为空,则右子树上所有节点的值均小于它的根节点的值; 它的左右子树也均为二叉搜索树. 前提:二叉搜索树首先是一个二叉树。 二、二叉搜索树的操作 1.查找(
2021-04-19 14:10:00
539
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅