- 博客(38)
- 收藏
- 关注
原创 [Leetcode 算法题单] 1456. 定长子串中元音的最大数目
经典的滑动窗口,保存一个窗口中元音字母数量,每增加一次就减去离开的那个字母,并增加新的一个字母,并和最大值比较,返回全局最大的值。请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。解释:“lee”、“eet” 和 “ode” 都包含 2 个元音字母。解释:任意长度为 2 的子字符串都包含 2 个元音字母。输入:s = “abciiidef”, k = 3。输入:s = “leetcode”, k = 3。输入:s = “aeiou”, k = 2。给你字符串 s 和整数 k。
2025-09-10 22:35:37
355
原创 [每日一题] 力扣1733. 需要教语言的最少人数
输入:n = 3, languages = [[2],[1,3],[1,2],[3]], friendships = [[1,4],[1,2],[3,4],[2,3]]friendships[i] = [ui, vi] 表示 ui 和 vi 为好友关系。输入:n = 2, languages = [[1],[2],[1,2]], friendships = [[1,2],[1,3],[2,3]]总共有 n 种语言,编号从 1 到 n。
2025-09-10 17:17:36
430
原创 [LeetCode 热题 100] 394. 字符串解码
如果是】,弹出栈顶两个元素,一个是string,一个是string要乘的数字,如果栈空了,直接把生成的新string加入result,如果不是,再把这个string加入栈顶。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。接着分类,如果发现数字,套一个while循环到不是数字为止,把数字入栈,再入栈一个空字符,方便后期加字母。剩下的就是字母了,如果栈不空,就把字母加入栈顶,如果栈是空的,就直接加入result。输出:“accaccacc”
2025-09-08 15:18:21
354
原创 [每日一题] 1317. 将整数转换为两个无零整数的和
解释:a = 1, b = 1。a + b = n 并且 a 和 b 的十进制表示形式都不包含任何 0。「无零整数」是十进制表示中 不含任何 0 的正整数。如果存在多个有效解决方案,你可以返回其中任意一个。这题想了半天原来是直接枚举就行。题目数据保证至少有一个有效的解决方案。有时候暴力也要尝试一下,万一过了呢。a 和 b 都是无零整数。
2025-09-08 14:19:26
257
原创 [LeetCode 热题 100] 32. 最长有效括号
如果空了,显然是)数量大于(数量导致无法形成有效括号了,后面也不可能再利用前面的括号数量,所以直接在这里做一个隔断,把这里的下标入栈。给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号 子串 的长度。左右括号匹配,即每个左括号都有对应的右括号将其闭合的字符串是格式正确的,比如 “(()())”。解释:最长有效括号子串是 “()()”如果是),先弹出一个元素。解释:最长有效括号子串是 “()”s[i] 为 ‘(’ 或 ‘)’输入:s = “)()())”输入:s = “(()”
2025-09-07 22:28:24
344
原创 [每日一题] 1304. 和为零的 N 个不同整数
给你一个整数 n,请你返回 任意 一个由 n 个 各不相同 的整数组成的数组,并且这 n 个数相加和为 0。解释:这些数组也是正确的 [-5,-1,1,2,3],[-3,-1,2,-2,4]。如果n是偶数,就是-1, 1,-2,2对着加入list。如果n是奇数,就再加一个0,很简单的一个题。输出:[-7,-1,1,3,4]输出:[-1,0,1]
2025-09-07 18:03:02
217
原创 [LeetCode 热题 100] 54. 螺旋矩阵
这题不难,但是很烦,对我这种思路不清晰的人各种边界判断,行列i, j搞反真的要debug半天。给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]输出:[1,2,3,6,9,8,7,4,5]
2025-09-05 15:40:29
364
原创 [LeetCode 热题 100] 73. 矩阵置零
请使用 原地 算法。输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]输出:[[1,0,1],[0,0,0],[1,0,1]]你能想出一个仅使用常量空间的解决方案吗?
2025-09-05 14:20:43
323
原创 [LeetCode 热题 100] 438. 找到字符串中所有字母异位词
用一个长度26的list,表示26个字母在p和s子字符串中的字母差异,p中有就加一,s子字符中有就减一,最后遍历一边看看是不是都是0就可以判定它们是不是异位词。第一版中检验字符串中有太多的重复操作,遍历s子字符时,我们可以使用滑动窗口的方法,例如,我们比完第0个s子字符,要比较下一个字符时,我们只需要把离开位置的字母加回来,再减去新加入的字母,所得的数组仍然是我们要求的6个字母在p和s子字符串中的字母差异,节省了算法复杂度。起始索引等于 0 的子串是 “ab”, 它是 “ab” 的异位词。
2025-09-05 02:08:34
445
原创 [LeetCode 热题 100] 42. 接雨水
以左边最高为例,每个左边最高max_left[i]的值就是max(max_left[i-1], height[i-1]), 不是原来的最高就是新路过的那一列的高度,两者取个大的就行。解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。把正在求的列左边最高的墙和右边最高的墙确定后,然后为了方便理解,我们把无关的墙去掉。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
2025-09-03 22:00:22
452
原创 3025. 人员站位的方案数 I
左边的是点对 (points[2], points[0]),其中 points[2] 在 points[0] 的左上角并且在它们形成的直线上没有其它点。右边的是点对 (points[2], points[0]),其中 points[2] 在 points[0] 的左上角,但 points[1] 在长方形内部,所以不是一个合法的点对。左边的是点对 (points[1], points[0]),其中 points[1] 在 points[0] 的左上角,并且形成的长方形内部是空的。A 在 B 的左上角,并且。
2025-09-03 00:31:54
630
原创 [每日一题] 力扣3000. 对角线最长的矩形的面积
对于所有下标 i(0 <= i < dimensions.length),dimensions[i][0] 表示矩形 i 的长度,而 dimensions[i][1] 表示矩形 i 的宽度。对角线长度 = sqrt(8 * 8 + 6 * 6) = sqrt(100) = 10。返回对角线最 长 的矩形的 面积。因此,下标为 1 的矩形对角线更长,所以返回面积 = 8 * 6 = 48。输入:dimensions = [[9,3],[8,6]]输入:dimensions = [[3,4],[4,3]]
2025-08-27 00:02:24
317
原创 [每日一题] 力扣3439. 重新安排会议得到最多空余时间 I
这里用一个results存储已经求和的值,因为每次对连续的k个数字和其实只要减去前一个result中开头的数,再加上新的数即可,用O(n)的空间换了时间复杂度。它们表示这次活动中 n 个时间 没有重叠 的会议,其中第 i 个会议的时间为 [startTime[i], endTime[i]]。你可以重新安排 至多 k 个会议,安排的规则是将会议时间平移,且保持原来的 会议时长 ,你的目的是移动会议后 最大化 相邻两个会议之间的 最长 连续空余时间。请你返回重新安排会议以后,可以得到的 最大 空余时间。
2025-07-09 21:17:47
287
原创 [每日一题]力扣3307:解密第K个字符的奥秘
例如,对 “c” 进行操作生成 “cd”,对 “zb” 进行操作生成 “zbac”。在确定了当前 k 所在的操作次数后,便可以通过题目所给的 operations 数组来判断是否对答案进行累加,若 operations[t]=1,则进行累加,反之则不进行累加。将 “bbccbbcc” 附加到 “aabbaabb”,word 变为 “aabbaabbbbccbbcc”。将 “aabb” 附加到 “aabb”,word 变为 “aabbaabb”。将 “bb” 附加到 “aa”,word 变为 “aabb”。
2025-07-04 23:42:19
620
原创 多媒体系统(三)---- 数字图像
图像是对象、2-D 或3-D 场景或其他图像的空间呈现。图像可以抽象地视为定义平面矩形区域的连续函数图像类型: 摄影 模拟视频 数字的表示量化强度值(Intensity)的图像矩阵图像采样的点称为图片元素(picture element)或像素(pixel)通过像素区域采样确定强度各个种类图像介绍二值图像(仅黑白信息)强度值只有0和1灰度• 图像仅使用亮度信息来表示例如,使用 8 位整数 0-255 值彩色图像– 标准图像:狒狒(512 * 512)
2023-10-16 15:12:17
362
原创 多媒体系统(二)---- 声音/音频&音乐
声音是由通过声道(vocal tracts)的声门脉冲(glottal pulses)产生的,包括会厌(epiglottis)、下颌(lower jaw)、舌头(tongue)、软腭(velum)、上颚(palate)、牙齿(teeth)和嘴唇(lips)– 44,100 Hz 的采样率只能表示高达 22,050 Hz 的频率,该边界更接近人类听觉的边界(20 Hz - 20,000 Hz)。采样率 = 每秒所需的位数(数据速率)。– 每个样本的位数 - 电话为 8 位 – 更高的量化意味着更准确的波形。
2023-10-16 14:05:04
514
原创 多媒体系统(四)----图像处理
图像处理:– 点(像素)操作;– 邻里运营• 点操作– 亮度和对比度增强,因为采集过程会降低图像质量;– 方法:线性拉伸、幂律函数和直方图均衡• 邻里运营– 降噪和边缘增强;– 方法:低通滤波器、中值滤波器、高通滤波器。
2023-10-15 16:15:41
239
原创 MapReduce笔记
为了应对新互联网时代所需面对的大规模处理数据的需求,包括一些高纬度,多节点的数据,人们开发了一种新软件栈(software stack)从计算集群(computer cluster),即多台基础硬件中并行得获得计算能力。集群中计算节点通过以太网和廉价的交换机连接。存储单位比传统磁盘大。提供数据冗余来防止数据分布在廉价节点上导致频发媒介故障。在上述文件系统上,人们开发了多种高级编程系统。而整个软件栈的核心,就是MapReduce编程系统。
2023-10-12 15:29:58
183
1
原创 TF-IDF
TF-IDF有两层意思,一层是"词频"(Term Frequency,缩写为TF),另一层是"逆文档频率"(Inverse Document Frequency,缩写为IDF)。
2023-09-09 11:47:00
227
1
原创 并发控制和恢复(十六)
在Ti执行write(X)之前,写入一条日志记录,其中V1为X在写入前的值(旧值或前像),V2为要写入的值 到 X(新值或后图像)。(a) undo(T0):B恢复为2000,A恢复为1000,写出日志记录,,undo(Ti) – 将 Ti 更新的所有数据项的值恢复到它们的旧值,从 Ti 的最后一条日志记录向后。redo(Ti) – 将 Ti 更新的所有数据项的值设置为新值,从 Ti 的第一个日志记录开始。
2023-05-11 12:47:53
131
原创 数据库恢复---恢复策略
事务故障:事务在运行到正常终点前停止,恢复子系统用日志文件撤销(UNDO)事务已对数据库进行的修改。事务故障的恢复步骤。
2023-04-21 17:07:29
2970
原创 恢复的实现技术
恢复机制涉及的关键问题是如何建立冗余数据,如何利用这些冗余数据恢复数据库建立数据冗余的方法有数据转储(backup)和日志文件(logging)
2023-04-21 14:16:54
197
原创 数据库恢复概述
故障是不可避免的,故障主要包括:硬件故障,软件故障,程序员操作失误,恶意破坏等故障对数据库主要表现为:运行事务非正常中断,影响数据库中数据的正确性,数据库全部或部分数据丢失。数据库恢复作用:将数据库从错误状态回复到之前一个已知的之前状态数据库恢复子系统是数据库管理系统一个相当庞大的部分,约占总代码数的10%。恢复系统是衡量一个系统优劣的重要指标,对系统的可靠性有决定性作用。
2023-04-21 13:20:08
602
原创 数据库恢复---事务的基本概念
显式定义:事务正常结束的方式#SQL语句;COMMIT;事务正常结束,提交事务所有的操作(读+更新)即事务中对数据库的更新写回磁盘上的物理数据库中。事务异常结束的方式#SQL语句;ROLLBACK;事务异常结束,事务运行途中发生故障,不能继续执行,系统将事务中对数据库已完成的操作全部撤销。事务回滚到开始状态。
2023-04-21 11:38:06
156
原创 并发控制(五)封锁的粒度
封锁对象的大小叫逻辑单元,物理单元逻辑单元:属性值,属性值集合,元组关系,索引项,整个索引,整个数据库等物理单元:页(数据页,索引页),物理记录。
2023-04-21 00:21:48
1335
3
原创 并发控制(四)两段锁协议
所有事务必须分两个阶段对数据项加锁和解锁,即在对任何数据进行读写操作前,事务首先要对数据项进行封锁。目前数据库普遍采用两段锁协议来实现并发调度的可串行性,从而保证调度的准确性。并发事务都遵守两段锁协议,则对这些事务的任何并发调度都是可串行化调度。事务遵守两段锁协议的一定是可串行化的(充分条件),但不是必要条件。若并发事务有一个遵守两段锁协议,不一定所有事务都符合两段锁协议。以上内容基于圣才教育数据库系统概论ppt 修改整理。两段锁协议和防止死锁的一次封锁法的异同。两段锁的含义:事务分两个阶段。
2023-04-20 23:13:24
1541
1
原创 并发控制(三)-- 并发调度的可串行性
数据库管理系统对并发事务的不同调度会产生不同的结果。那么什么样的并发调度才是正确的?答:结果和串行调度是一样的是正确的,称为。
2023-04-20 22:47:14
1130
原创 并发控制(二)封锁
事务T在对某个对象进行操作之前,先向数据库系统发送请求,对其加锁。加锁后事务T对该数据有一定的控制。在事务T释放该锁前,别的事务不能封锁是并发控制中一个非常重要的技术。
2023-04-20 21:45:26
400
原创 并发控制(一)并发控制概述
事务是并发控制的基本单位,并发控制的基本任务是对并发操作进行正确调度保证事务的隔离保证数据库的一致性例:并发控制失误导致的不一致性甲售票点(事务T1)读取剩余票数A = 16乙售票点(事务T2)读取剩余票数A = 16甲售票点售出一张票,并写入 A := 15同时乙售票点售出一张票,并写入 A := 15实际卖出两张票,数据库却只显示少了一张以上情况是数据库的不一致性,是由并发操作引起的。在并发操作的情况下,对T1,T2的调度是随机的。
2023-04-20 15:47:26
327
翻译 凸优化(七)
定义:凸集合一个集合Ω\OmegaΩ是凸的,如果∀xy∈Ωλ∈01λx1−λy∈Ω∀xy∈Ωλ∈01λx1−λy∈Ω凸组合 (convex combination)对于任何x1xnx1...xn和λ1λn≥0λ1...λn≥0满足λ1⋅⋅⋅λn1λ1⋅⋅⋅λn1,我们称∑i1nλixi∑i1nλix。
2023-04-15 19:10:26
407
翻译 文件组织和索引
要找到搜索键值为K的记录,我们先找到索引中搜索键值比K小的最大值的记录,从索引记录指向的记录依次开始。显示针对文件中的每个搜索键值的索引记录,例如讲师(instructors)关系的ID属性上的索引。Dept_number上的聚类索引,它是雇员(Employee)文件的排序非键字段。索引记录指向一个桶,该桶包含指向具有该特定搜索键值的所有实际记录的指针。对于N个项目的顺序搜索,比较的平均次数E (X)为≈N/2。记录在非键字段上进行物理上的排序,每个记录都没有不同的值。文件中的记录按一个搜索键进行排序。
2023-04-14 19:06:52
530
翻译 KKT条件和二阶条件和凸度优化(六)
无约束约束FONC:x∗x^*x∗局部最小点 (+ CQ)∇fx∗0∇fx∗0KKT 条件SONC:x∗x^*x∗局部最小点 (+ CQ)∇fx∗0∇2fx∗半正定\nabla f(x^*) = 0 \\ \nabla^2f(x^*) 半正定∇fx∗0∇2fx∗半正定KKT 条件\quad∇xx2Lxλμ∇xx2Lxλμ在CxC(x)Cx上半正定∇fx∗0∇2fx∗。
2023-04-11 15:55:18
2573
翻译 KKT条件:不等式约束(五)
考虑非线性优化:minxf(x)s.t.gi(x)≤0∀i=1,2,...m\mathop{\min}_{x} \quad f(x)\qquad \\ s.t. \quad g_i(x) \leq 0 \quad \forall i = 1, 2,... mminxf(x)s.t.gi(x)≤0∀i=1,2,...m不等式约束的KKT条件设x⇤为(1)的局部最小值,并假设向量{∇gi(x):i∈A(x∗)}\{\nabla g_i(x) : i \in A(x^*)\}{∇gi(x):i∈A(
2023-04-11 11:39:26
2021
1
翻译 最优性条件:一般的不等式约束(四)
我们已经讨论了一般非线性不等式约束的弗里茨-约翰条件(FONC)。在这种情况下,弗里茨-约翰条件只是施加了向量的线性依赖性。根据对偶性理论,对偶性不可能是不可行的,因此(通过让。许多点可以满足这个条件而不需要最小化。是(1)的局部最小值。那么,就不存在一个向量。让我们公式化FONC的不可行的下降方向视图。然后根据泰勒和下降方向的定义,有一个。是(1)的局部最小值。是局部最优的事实相矛盾。,否则它将与定理相矛盾。,它们并不都是零,这样。另一方面,对于所有的。
2023-04-10 16:27:08
362
1
翻译 无约束问题的最优性条件----二阶条件(二)
所有的平稳点(FONC)都是局部极小化器的候选点。(不充分)SONC可以进一步去除一些非局部极小化的平稳点,包括局部极大点和具有不定海森矩阵的鞍点。SOSC可以用来充分识别严格的局部极小值。对于具有PSD Hessian的非严格局部极小值和鞍点(考虑x0x=0x0处的x3x_3x3),SONC在两种情况下都满足。到目前为止,我们还没有足够的条件来识别它们。到目前为止,我们研究了无约束问题的最优性条件。下一节课,我们将开始研究受约束问题的最优性条件。
2023-04-09 19:53:41
2641
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅