随笔 - 2  文章 - 721  评论 - 6  阅读 - 35万

文章分类 -  Algorithm

1 2 下一页
Trie 前缀树
摘要:典型用于统计和排序大量的字符串(不限于字符串),经常被搜索引擎系统用于文本词频统计。优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。 前缀树的3个基本性质: 根节点不包含字符, 阅读全文
posted @ 2022-06-25 18:42 溪水静幽 阅读(49) 评论(0) 推荐(0) 编辑
存在重复元素 II
摘要:给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。 输入:nums = [1,2,3,1], k = 3 输出:tru 阅读全文
posted @ 2022-01-23 11:21 溪水静幽 阅读(32) 评论(0) 推荐(0) 编辑
447. 回旋镖的数量
摘要:给定平面上 n 对 互不相同 的点 points ,其中 points[i] = [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i 和 k 之间的欧式距离相等(需要考虑元组的顺序)。 返回平面上所有回旋镖的数量。 输入:points = [[0 阅读全文
posted @ 2021-12-12 17:56 溪水静幽 阅读(48) 评论(0) 推荐(0) 编辑
字母异位词分组
摘要:给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。 示例 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [[ 阅读全文
posted @ 2021-12-05 11:31 溪水静幽 阅读(33) 评论(0) 推荐(0) 编辑
四数相加 II
摘要:给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 示例 输入:nu 阅读全文
posted @ 2021-11-28 19:49 溪水静幽 阅读(22) 评论(0) 推荐(0) 编辑
跳表(SkipList)实现
摘要:import java.util.Random; import java.util.Stack; class SkipNode<T> { int key; T value; SkipNode right,down;//左右上下四个方向的指针 public SkipNode (int key,T va 阅读全文
posted @ 2021-11-13 19:31 溪水静幽 阅读(50) 评论(0) 推荐(0) 编辑
3. 无重复字符的最长子串
摘要:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 阅读全文
posted @ 2021-10-10 11:46 溪水静幽 阅读(19) 评论(0) 推荐(0) 编辑
3Sum & 4Sum
摘要:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0 阅读全文
posted @ 2021-09-21 16:55 溪水静幽 阅读(72) 评论(0) 推荐(0) 编辑
两数之和
摘要:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 可以按任意顺序返回答案 输入:nums = [2,7,11,15], 阅读全文
posted @ 2021-09-19 20:53 溪水静幽 阅读(14) 评论(0) 推荐(0) 编辑
根据字符出现频率排序
摘要:给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 示例 1: 输入: "tree" 输出: "eert" 解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。 class Solution { public Str 阅读全文
posted @ 2021-09-12 11:13 溪水静幽 阅读(172) 评论(0) 推荐(0) 编辑
单词规律
摘要:给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。 示例 输入: pattern = "abba", str = "dog cat c 阅读全文
posted @ 2021-08-29 16:55 溪水静幽 阅读(55) 评论(0) 推荐(0) 编辑
编写一个算法来判断一个数 n 是不是快乐数。
摘要:「快乐数」定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 true ;不是,则返回 false 。 输入:19 输出:true 阅读全文
posted @ 2021-08-22 11:25 溪水静幽 阅读(558) 评论(0) 推荐(0) 编辑
给定一个二进制数组, 计算其中最大连续 1 的个数。
摘要:输入:[1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.思路:遍历数组,记录最大个数,时间复杂度为O(n) class Solution { public int findMaxConsecutiveOnes(int[] nums) { 阅读全文
posted @ 2021-08-07 19:23 溪水静幽 阅读(291) 评论(0) 推荐(0) 编辑
438. 找到字符串中所有字母异位词
摘要:给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。 说明: 字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。 输入: s: "cbaebabac 阅读全文
posted @ 2020-10-11 18:31 溪水静幽 阅读(75) 评论(0) 推荐(0) 编辑
盛最多水的容器
摘要:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:不能倾斜容器,且 n 的值至少为 2。 图 阅读全文
posted @ 2020-07-20 22:44 溪水静幽 阅读(50) 评论(0) 推荐(0) 编辑
215. 数组中的第K个最大元素
摘要:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 说明: 你 阅读全文
posted @ 2020-07-11 15:39 溪水静幽 阅读(66) 评论(0) 推荐(0) 编辑
合并两个有序数组
摘要:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中 阅读全文
posted @ 2020-07-07 22:52 溪水静幽 阅读(81) 评论(0) 推荐(0) 编辑
LeetCode:颜色分类
摘要:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 输入: [2,0,2,1,1,0] 输出: [0, 阅读全文
posted @ 2020-06-07 23:13 溪水静幽 阅读(82) 评论(0) 推荐(0) 编辑
LeetCode:长度最小的子数组
摘要:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。 示例: 输入: s = 7, nums = [2,3,1,2,4,3] 输出: 2 解释: 子数组 [4,3] 是该条件下的长度最小的连 阅读全文
posted @ 2020-06-06 12:59 溪水静幽 阅读(93) 评论(0) 推荐(0) 编辑
Visual Studio Code配置C/C++编译运行环境
摘要:1、下载安装vscode https://code.visualstudio.com/Download 2、安装cpptools插件 vscode列出插件列表,如图: 配置IntelliSence 在VS Code中打开,然后在VS Code中按Ctrl + Shift + P输入命令C/C++: 阅读全文
posted @ 2019-10-07 16:17 溪水静幽 阅读(417) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示