
算法学习心得记录
文章平均质量分 63
记录算法
隙间光点
加油
展开
-
快递投放问题
N。原创 2023-08-18 14:34:06 · 529 阅读 · 0 评论 -
几何平均值最大子数组
从一个长度为N的正数数组numbers中找出长度至少为L且 几何平均值 最大的子数组,并输出其位置和大小。(K个数的 几何平均值 为K个数的乘积的K次方根)若有多个子数组的几何平均值均为最大值,则输出长度最小的子数组。若有多个长度相同的子数组的几何平均值均为最大值,则输出最前面的子数组。原创 2023-06-26 10:04:03 · 442 阅读 · 0 评论 -
树相关知识点--零碎笔记
二叉树的前中后序遍历是什么?后序遍历有什么特殊之处?为什么多叉树没有中序号遍历?原创 2023-05-20 23:25:21 · 408 阅读 · 0 评论 -
KMP算法
如下图 匹配到 字符 s 的时候,发生不匹配,这是最佳方案应是 第一个字符 a 与 s进行匹配。,是由 D.E.Knuth、J.H.Morris 和 V.R.Pratt 三位大佬一起捣鼓出来的。所以我们需要去知道模式串已经匹配过的部分的位置,KMP算法使用一个数组保存位置信息。为什么字符串后面全是 c 结果对应位置记忆数组的值全是0?当发现不匹配的时候——去寻找之前已经匹配过的部分中,模式串的。所以,字符 c 对应记忆数组的位置应是0。,强调的是快,那咋快的呢?模式串在匹配主串的过程中。原创 2023-05-14 00:28:14 · 475 阅读 · 0 评论 -
1016. 子串能表示从 1 到 N 数字的二进制串--这道题能学到不少东西
my god 我的天,是真滴复杂。原创 2023-05-13 22:54:42 · 511 阅读 · 0 评论 -
由 leet501 认识二叉树中序遍历的重要性
由该题认识到二叉树中序遍历的重要性。原创 2023-05-09 23:10:46 · 731 阅读 · 0 评论 -
二分查找学习总结心得
二分查找一般运用在有序数组中的查找,一般分为开区间、闭区间和半开半闭区间三种写法。原创 2023-04-23 23:34:38 · 636 阅读 · 0 评论 -
OD机试-采样过滤
算法-OD-机试-采样过滤原创 2023-02-27 15:22:23 · 916 阅读 · 1 评论 -
推荐结果打散
推荐结果打散题目描述 输入描述: 第一行输入为一个整数N(1~10),表示每N个结果里最多出一个图片结果 第二行输入为一个整数M(1~100),表示有M个待处理的推荐结果 第三行~第2+M行为具体的 M 个待处理结果,每行具体为:字符串 V_ 或 P_ 打头,后面接输入时0~M-1的顺序标号 输入描述: 第1行为K,表示打散处理后结果的长度 第2~K+1行为打散后的结果,具体为:字符串 V_ 或 P_ 打头,后面接输入时 0~M-1 的顺序标号List<原创 2021-03-22 20:29:34 · 357 阅读 · 0 评论 -
最大区间值
题目描述给定一个数组序列,要求选出一个区间。使得该区间是所有区间中经过如下计算之后得出的值最大的一个:计算规则:区间中最小的数✖️区间所有数的和最程序输出经过计算的最大值即可,不需要输出具体的区间如给定序列 [6,2,1] 经过计算后的最大值为:36解题思路-java 两个关键点是 区间中最小的数、区间所有数的和。单个元素可以被认为是一个区间。然后就是在找到区间中最小的数的同时,如何计算其区间和。public int getMax(int[] numbers) { if原创 2021-03-22 19:51:51 · 895 阅读 · 0 评论 -
2021-03-06 一周刷题心得记录
一周练习题目记录leetcode 206 反转链表leetcode 92 反转链表Ⅱleetcode 138 复制带随机指针的链表leetcode 2 两数相加leetcode 146 LRU缓存机制总结回顾学会思想最重要leetcode 206 反转链表题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转原创 2021-03-06 22:56:16 · 241 阅读 · 0 评论 -
leetcode第六题Z字形变换心得记录
算法学习之路-坚持走下去Z字形变换题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, .原创 2020-08-21 14:17:07 · 288 阅读 · 0 评论 -
算法学习-通过二分法深入理解递归思想
递归是什么?简而言之,方法可以调用自己。我个人在最初学习递归的时候总是容易陷入循环地思考之中。为了更好地学习递归的思想。从二分法开始深入。通过二分法理解递归思想给定一个指定的数值key,在自增有序数组nums中寻找其是否存在。我们可以循环目标数组,取出每一个元素与目标值相比较。这是我能够想到的最直观的解决办法。public static int search(int key, int[] nums) { for(int i = 0;i < nums.length;i++) {原创 2020-08-06 20:06:14 · 441 阅读 · 0 评论 -
算法学习-典型数组处理
什么是数组?数组能够顺序存储相同类型的多个数据。访问数组中某个元素的方法是通过数组索引下标访问。数组索引下标是指,每一个数组中的元素对应一个编号。通过编号能够快捷地对数组中的元素进行访问。Java中使用数组创建一个数组需要三个步骤1.声明数组:定义数组的名字和存储的数据类型2.创建数组:创建过程完成之后才可以使用数组,创建数组的时候我们需要指定数组的长度即元素的个数3.初始化数组元素// 声明数组int[] demo;// 创建数组,demo = new int[3]原创 2020-08-06 16:11:37 · 189 阅读 · 0 评论