算法
文章平均质量分 91
练习便是学习的最好途径。
阳墨余
阳阳洒洒三千言,余不了墨梅花下做苦僧。
展开
-
Top k算法模式,你值得拥有!!!
Top k算法模式一、前言二、算法模式2.1、工作模式三、实战实践四、“partial_sort”——STL源码分析4.1、partial_sort 原理4.2、partial_sort()算法执行步骤详解4.3、Partial_sort方法调用关系图:4.4、C++源码分析4.5、Java模拟实现 partial_sort()参考文章一、前言最近在准备笔试题时,经常看到求解某序列前K个最大数/最小数/最常出现元素的题目。最后发现这些题目的解法都十分相似,便阅读了一些资料,写下这篇文章,希望对大家有用。原创 2021-02-24 10:58:27 · 447 阅读 · 0 评论 -
5. 替换空格
5. 替换空格题目链接牛客网题目描述将一个字符串中的空格替换成 “%20”。Input:“A B”Output:“A%20B”解题思路① 在字符串尾部填充任意字符,使得字符串的长度等于替换之后的长度。因为一个空格要替换成三个字符(%20),所以当遍历到一个空格时,需要在尾部填充两个任意字符。② 令 P1 指向字符串原来的末尾位置,P2 指向字符串现在的末尾位置。P1 和 P2 从后向前遍历,当 P1 遍历到一个空格时,就需要令 P2 指向的位置依次填充 02%(注意是逆序的),否则转载 2020-08-28 20:44:34 · 72 阅读 · 0 评论 -
3. 数组中重复的数字
3. 数组中重复的数字题目链接牛客网题目描述在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。Input:{2, 3, 1, 0, 2, 5}Output:2解题思路要求时间复杂度 O(N),空间复杂度 O(1)。因此不能使用排序的方法,也不能使用额外的标记数组。对于这种数组元素在 [0, n-1] 范围内的问题,可以将值为 i 的元素调整到第 i 个位置转载 2020-08-28 19:46:50 · 78 阅读 · 0 评论 -
旋转图像(滴滴面试原题)
一、题目描述给定一个 n × n 的二维矩阵表示一个图像。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8,10], [13, 3转载 2020-08-01 23:36:51 · 206 阅读 · 0 评论 -
Trie 字典树
Trie 字典树1.1、定义字典树,顾名思义,是关于“字典”的一棵树。即:它是对于字典的一种存储方式(所以是一种数据结构而不是算法)。这个词典中的每个“单词”就是从根节点出发一直到某一个目标节点的路径,路径中每条边的字母连起来就是一个单词。1.2、字典树描述其结点具有以下字段:。最多 RR 个指向子结点的链接,其中每个链接对应字母表数据集中的一个字母。本文中假定 RR 为 26,小写拉丁字母的数量。布尔字段,以指定节点是对应键的结尾还是只是键前缀。树中黄色节点表示目标节点,在此节点转载 2020-07-09 22:06:30 · 198 阅读 · 0 评论