刷新
分享一个关于Avl树的迭代器算法

1 研究过程 前段时间在研究avl树的迭代实现,在节点不使用parent指针的情况下,如何使用堆栈来实现双向地迭代。我参考了网络上的大部分迭代器实现,要么是使用了parent指针(就像c++的map容器中的迭代算法),要么就是前中后序遍历,没找到一种真正意义上可以双向迭代的算法,于是乎在我的不屑努力 ...

二分查找算法详讲(三种版本写法)原创

博主头像 介绍: 二分查找算法(Binary Search)是一种在有序数组中查找目标元素的算法。 它的基本思想是通过将目标元素与数组的中间元素进行比较,从而将搜索范围缩小一半。 如果目标元素等于中间元素,则搜索结束; 如果目标元素小于中间元素,则继续在左半部分查找; 如果目标元素大于中间元素,则在右半部分查 ...

素数判定算法 初级

博主头像 前置知识 Cpp实现 基础算法 // base method bool basement(int num) { for (int i = 2; i <= sqrt(num); ++i) { if (num % i == 0) return false; } return true; } 证明 筛法初 ...

leetcode力扣 300. 最长递增子序列

博主头像 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 输入:nums = [10,9,2,5,3,7,101,18 ...

leetcode力扣 1004. 最大连续1的个数 III

博主头像 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0,则返回数组中连续 1 的最大个数。 示例 1: 输入:nums = [1,1,1,0,0,0,1,1,1,1,0],k = 2 输出:6 解释:[1,1,1,0,0,1,1,1,1,1,1],翻转两个 0 后,最长的子数组长 ...

AtCoder Beginner Contest 355

博主头像 A - Who Ate the Cake? (abc355 A) 题目大意 三人有偷吃蛋糕的嫌疑,现告诉两个目击证人的澄清对象。问谁偷吃蛋糕。 解题思路 两个对象相同就不知道是谁,否则就是剩下的那一个了。 神奇的代码 #include <bits/stdc++.h> using namespace ...

KPM算法求字符串的最小周期证明

博主头像 先给出公式 ans = n - LPS[n-1] 其中ans为最小周期,n为给出的由假设的周期字符串中提取出的子串长度,LPS为前缀函数,n-1为字符串最后的位置下标 证明如下 证明ans = n - LPS[n-1],思路: (1) 证明特殊情况,即先对完整周期字符串进行证明,这时候的字符串组成是 ...

leetcode力扣 2024. 考试的最大困扰度

博主头像 一位老师正在出一场由 n 道判断题构成的考试,每道题的答案为 true (用 'T' 表示)或者 false (用 'F' 表示)。老师想增加学生对自己做出答案的不确定性,方法是最大化有连续相同结果的题数。(也就是连续出现 true 或者连续出现 false)。 给你一个字符串 answerKey, ...

leetcode力扣 213. 打家劫舍 II

博主头像 计划偷窃沿街的房屋是小偷的计划。在这个地方,所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。但是,相邻的房屋都装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 为了计算在不触动警报装置的情况下,今晚能够偷窃到的最高金额,我们给定了一个代表每个房屋存放 ...

蓝桥杯-数三角(ac代码时间复杂度分析)

博主头像 问题描述 小明在二维坐标系中放置了 ( n ) 个点,他想在其中选出一个包含三个点的子集,这三个点能组成三角形。然而这样的方案太多了,他决定只选择那些可以组成等腰三角形的方案。请帮他计算出一共有多少种选法可以组成等腰三角形? 输入格式 输入共 ( n+1 ) 行。 第一行为一个正整数 ( n )。 ...

1-数组-11-二分查找-LeetCode704

博主头像 1-数组-11-二分查找-LeetCode704 参考:代码随想录 LeetCode:题目序号35 更多内容欢迎关注我(持续更新中,欢迎Star✨) Github:CodeZeng1998/Java-Developer-Work-Note 技术公众号:CodeZeng1998(纯纯技术文) 生活公众 ...

蓝桥杯-班级活动

博主头像 题目描述 小明的老师准备组织一次班级活动。班上一共有 ( n ) 名(( n ) 为偶数)同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 ( n ) 以内的正整数作为 id,第 ( i ) 名同学的 id 为 ( a_i )。 老师希望通过更改若干名同学的 ...

蓝桥杯-合并数列

博主头像 小明发现有很多方案可以把一个很大的正整数拆成若干正整数的和。他采取了其中两种方案,分别将它们列为两个数组 {a1, a2, ..., an} 和 {b1, b2, ..., bm}。两个数组的和相同。 定义一次合并操作可以将某数组内相邻的两个数合并为一个新数,新数的值是原来两个数的和。小明想通过若干 ...

CCL 2024 Task7 双任务冠军

博主头像 近期参加NLP领域CCL2024评测,现将赛题背景和实现方法分享,推理文本纠错领域的发展。 1、背景信息 随着教育的发展和网络的普及,作文评价的规模越来越大,人工评改作文的成本和效率成为一大难题。为了解决这一问题,许多研究者和机构开始探索利用计算机技术来实现作文的自动评改,通过分析作文的语言、内容、 ...

蓝桥杯-子 2023 / 双子数

博主头像 题解: 第一个问题A 动态规划问题 f[4] 状态表示: f[0]表示数字是2的个数 f[1]表示以2开头0结尾的个数 f[2]表示以20开头2结尾的个数 f[3]表示以202开头3结尾的个数 f[3]就是答案 代码中有详细的注释和注意事项 A代码 #include<bits/stdc++.h> ...

蓝桥杯-日志统计

博主头像 小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 N 行。 其中每一行的格式是: ts id 表示在 ts 时刻编号 id 的帖子收到一个”赞”。 现在小明想统计有哪些帖子曾经是”热帖”。 如果一个帖子曾在任意一个长度为 D 的时间段内收到不少于 K 个赞,小明就认为这个帖子曾是”热 ...

luogu P1048 [NOIP2005 普及组] 采药

博主头像 [NOIP2005 普及组] 采药 题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身 ...

luoguP1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

博主头像 [USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中,从 \(7 \to 3 \to 8 \to ...

<1···91011···30>