自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode 11. 盛最多水的容器

leetcode 11. 盛最多水的容器leetcode 11. 盛最多水的容器题目解答leetcode 11. 盛最多水的容器题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和(i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1, 8, 6, 2, 5, 4, 8, 3, 7]输出:49解释:图中垂直线

2021-09-16 11:12:31 136

原创 leetcode 1996. 游戏中弱角色的数量

leetcode 1996. 游戏中弱角色的数量leetcode 1996. 游戏中弱角色的数量题目解答leetcode 1996. 游戏中弱角色的数量题目你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 。给你一个二维整数数组 properties ,其中 properties[i] = [attacki, defensei] 表示游戏中第 i 个角色的属性。如果存在一个其他角色的攻击和防御等级 都严格高于 该角色的攻击和防御等级,则认为该角色为 弱角色 。更正式地,如果认为角色

2021-09-16 10:28:36 205

原创 leetcode 491. 递增子序列

回溯算法之全排列剑指Offer 38. 字符串的排列题目解答回溯算法——多叉树的遍历问题(关键:前序遍历和后序遍历)前序遍历的代码:在进入某个节点之前的那个时间点执行后序遍历的代码:在离开某个节点之后的那个时间点执行回溯算法的核心框架:void backtrack(路径, 选择列表): for 选择 in 选择列表: //做选择 将该选择从选择列表移除 路径.add(选择) backtrack(路径, 选择列表) // 撤销选择

2021-09-13 10:38:54 176

原创 leetcode128. 最长连续序列

leetcode128. 最长连续序列leetcode128. 最长连续序列1. 题目2. 解答leetcode128. 最长连续序列1. 题目给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。进阶:你可以设计并实现时间复杂度为 O(n) 的解决方案吗?示例 1:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。示例 2:输入:nums = [0,3,7,2,

2021-09-11 16:36:50 138

原创 leetcode1817. 查找用户活跃分钟数

leetcode1817. 查找用户活跃分钟数1. 题目2. 解答1. 题目给你用户在 LeetCode 的操作日志,和一个整数 k 。日志用一个二维整数数组 logs 表示,其中每个 logs[i] = [IDi, timei] 表示 ID 为 IDi 的用户在 timei 分钟时执行了某个操作。多个用户 可以同时执行操作,单个用户可以在同一分钟内执行 多个操作 。指定用户的 用户活跃分钟数(user active minutes,UAM) 定义为用户对 LeetCode 执行操作的 唯一分钟数

2021-09-09 16:57:58 177

原创 leetcode621. 任务调度器

leetcode621. 任务调度器leetcode621. 任务调度器1. 题目2. 解答leetcode621. 任务调度器1. 题目给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间,CPU 可以完成一个任务,或者处于待命状态。然而,两个 相同种类 的任务之间必须有长度为整数 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或

2021-09-09 16:55:54 143

原创 leetcode881. 救生艇

leetcode881. 救生艇leetcode881. 救生艇1. 题目2. 解答leetcode881. 救生艇1. 题目第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回载到每一个人所需的最小船数。(保证每个人都能被船载)。示例 1:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例 2:输入:people = [3,2,2,1]

2021-09-09 16:47:17 70

原创 leetcode 字符串之单词

leetcode1055. 形成字符串的最短路径leetcode159. 至多包含两个不同字符的最长子串1. 题目2. 解答leetcode159. 至多包含两个不同字符的最长子串1. 题目对于任何字符串,我们可以通过删除其中一些字符(也可能不删除)来构造该字符串的子序列。给定源字符串source和目标字符串target,找出源字符串中能通过串联形成目标字符串的子序列的最小数量。如果无法通过串联源字符串中的子序列来构造目标字符串,则返回-1。示例 1:输入:source = “abc”,

2021-09-09 10:01:26 366

原创 leetcode 滑动窗口2

leetcode 滑动窗口2leetcode438. 找到字符串中所有字母异位词1. 题目2. 解答剑指offer48. 最长不含重复字符的子字符串1. 题目2. 解答leetcode1208. 尽可能使字符串相等1. 题目2. 解答leetcode438. 找到字符串中所有字母异位词1. 题目给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串s和 p的长度都不超过 20100。说明:字母异位词指字母相同,

2021-09-09 09:57:26 124

原创 leetcode DFS/BFS

leetcode934. 最短的桥1. 题目2. 解答1. 题目在给定的二维二进制数组A中,存在两座岛。(岛是由四面相连的 1 形成的一个最大组。)现在,我们可以将0变为1,以使两座岛连接起来,变成一座岛。返回必须翻转的0 的最小数目。(可以保证答案至少是 1。)示例 1:输入:[[0,1],[1,0]]输出:1示例 2:输入:[[0,1,0],[0,0,0],[0,0,1]]输出:2示例 3:输入:[[1,1,1,1,1],[1,0,0,0,1],[1,0,1,0,1],[1,0,

2021-09-09 09:35:31 107

原创 leetcode 回文串

leetcode1177. 构建回文串检测1. 题目2. 解答1. 题目给你一个字符串s,请你对s的子串进行检测。每次检测,待检子串都可以表示为queries[i] = [left, right, k]。我们可以重新排列子串s[left], …, s[right],并从中选择 最多 k项替换成任何小写英文字母。如果在上述检测过程中,子串可以变成回文形式的字符串,那么检测结果为true,否则结果为false。返回答案数组answer[],其中answer[i]是第i个待检子串queries[i]的检

2021-09-09 09:31:48 184

原创 leetcode 栈之括号

leetcode5. 最长回文子串1. 题目2. 解答1. 题目给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”2. 解答回文串:如果一个字符串正着读和反着读都是一样的,就是回文串中心扩展算法:我们观察到回文中心的两侧互为镜像。因此,回文可以从

2021-09-09 08:57:16 114

原创 leetcode451. 根据字符出现频率排序

leetcode451. 根据字符出现频率排序1. 题目2. 解答1. 题目给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2:输入:“cccaaa”输出:“cccaaa”解释:'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。注意"cacaca"是不正确的,因为相同的字

2021-09-09 08:56:59 85

原创 leetcode 前缀和[&哈希表优化]

leetcode 前缀和[&哈希表优化]leetcode560. 和为K的子数组1. 题目2. 解答leetcode523. 连续的子数组和1. 题目2. 解答leetcode974. 和可被K整除的子数组1. 题目2. 解答前缀和(Prefix Sum)定义:前缀和是一种重要的预处理,能大大降低查询的时间复杂度。结合Hash缓存,能够进一步优化提升算法执行效率。对数组nums进行前缀和初始化需要O(n)时间。新建数组prefixSum,数组长度定义为nums.length+1,确保第nums

2021-09-08 20:19:18 285

原创 leetcode 差分

leetcode 差分leetcode574. 航班预定统计1. 题目2. 解答leetcode1094. 拼车1. 题目2. 解答差分可以当作前缀和的逆运算,令 bi=ai−ai−1bi = a_i - a_{i-1}bi=ai​−ai−1​,即相邻两数的差。在每一个点上记录变化数值,因为有增加有减少,通过求和判断是否有超过指定容量的情况发生,超过则代表无法满足要求。差分数组的应用场景是,需要对某个区间[i…j]频繁地加或减某一值,避免每次都遍历这个区间。leetcode574. 航班预定统计1.

2021-09-08 20:14:33 460

原创 leetcode1396. 设计地铁系统

leetcode1396. 设计地铁系统1. 题目2. 解答1. 题目请你实现一个类 UndergroundSystem ,它支持以下 3 种方法:checkIn(int id, string stationName, int t)编号为 id 的乘客在 t 时刻进入地铁站 stationName 。一个乘客在同一时间只能在一个地铁站进入或者离开。checkOut(int id, string stationName, int t)编号为 id 的乘客在 t 时刻离开地铁站 stationN

2021-09-08 19:50:32 166

原创 leetcode299. 猜数字游戏

leetcode299. 猜数字游戏1. 题目2. 解答1. 题目你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:你写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个提示,告诉他的猜测数字中有多少位属于数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位属于数字猜对了但是位置不对(称为“Cows”, 奶牛)。朋友根据提示继续猜,直到猜出秘密数字。请写出一个根据秘密数字和朋友的猜测数返回提示的函数,返回字符串的格式为 xAyB ,x

2021-09-08 19:43:26 141

原创 leetcode1588. 避免洪水泛滥

leetcode1588. 避免洪水泛滥1. 题目2. 解答1. 题目你的国家有无数个湖泊,所有湖泊一开始都是空的。当第n个湖泊下雨的时候,如果第n个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水。你的目标是避免任意一个湖泊发生洪水。给你一个整数数组 rains ,其中:rains[i] > 0表示第 i天时,第 rains[i]个湖泊会下雨。rains[i] == 0表示第 i天没有湖泊会下雨,你可以选择 一个 湖泊并 抽干 这个湖泊的水。请返回一个数组ans,满足:ans.le

2021-09-08 19:41:09 160

原创 leetcode 滑动窗口1

leetcode 滑动窗口leetcode159. 至多包含两个不同字符的最长子串1. 题目2. 解答leetcode1151. 最少交换次数来组合所有的11. 题目2. 解答leetcode1004. 最大连续1的个数III1. 题目2. 解答leetcode3. 无重复字符的最长子串1. 题目2. 解答leetcode209. 长度最小的子数组1. 题目2. 解答leetcode1100. 长度为K的无重复字符子串1. 题目2. 解答leetcode1052. 爱生气的书店老板1. 题目2. 解

2021-09-08 19:35:21 111

原创 leetcode 单调栈

leetcode 单调栈leetcode300. 最长递增子序列1. 题目2. 解答leetcode739. 每日温度1. 题目2. 解答leetcode503. 下一个更大元素II1. 题目2. 解答leetcode962. 最大宽度坡1. 题目2. 解答leetcode300. 最长递增子序列1. 题目给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1

2021-09-08 19:21:30 569

原创 leetcode 异位词

leetcode395. 至少有K个重复字符的最长子串1. 题目2. 解答1. 题目给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。示例 1:输入:s = “aaabb”, k = 3输出:3解释:最长子串为 “aaa” ,其中 ‘a’ 重复了 3 次。示例 2:输入:s = “ababbc”, k = 2输出:5解释:最长子串为 “ababb” ,其中 ‘a’ 重复了 2 次, ‘b’ 重复了 3 次

2021-09-08 19:13:39 102

原创 LCP 03. 机器人大冒险

leetcode1208. 尽可能使字符串相等1. 题目2. 解答1. 题目给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的最大长度。如果 s 中

2021-09-08 19:10:43 78

原创 leetcode 数组

leetcode152. 乘积最大子数组1. 题目2. 解答1. 题目给你一个整数数组nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。2. 解答// max = MAX(max*nums[i], nums[i]);, 遇到负数时,ma

2021-09-08 19:01:57 153

原创 leetcode 二分查找

leetcode1011. 在D天送达包裹的能力1. 题目2. 解答1. 题目传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i个包裹的重量为weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。示例 1:输入:weights = [1,2,3,4,5,6,7,8,9,10], D = 5输出:15解释:船舶最低载重 15 就能够在 5 天内送达

2021-09-07 20:47:47 122

原创 leetcode187. 重复DNA序列

leetcode146. LRU 缓存机制1. 题目2. 解答3. 引用1. 题目运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存

2021-09-07 20:44:47 126

原创 leetcode1055. 形成字符串的最短路径

leetcode1055. 形成字符串的最短路径1. 题目2. 解答1. 题目对于任何字符串,我们可以通过删除其中一些字符(也可能不删除)来构造该字符串的子序列。给定源字符串source和目标字符串target,找出源字符串中能通过串联形成目标字符串的子序列的最小数量。如果无法通过串联源字符串中的子序列来构造目标字符串,则返回-1。示例 1:输入:source = “abc”, target = “abcbc”输出:2解释:目标字符串 “abcbc” 可以由 “abc” 和 “bc” 形成,

2021-09-07 20:41:21 443

原创 leetcode 课程表

leetcode207. 课程表 && leetcode210. 课程表II1. leetcode207课程表解答2. leetcode210课程表II解答1. leetcode207课程表你这个学期必须选修numCourse门课程,记为0到numCourse-1 。在选修某些课程之前需要一些先修课程。例如,想要学习课程0,你需要先完成课程1,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,

2021-09-07 20:36:49 85

原创 UT hash的学习

UT hash的学习1. 定义2. 添加3. 查找4. 删除5. 统计6. 排序7. 例子1. 定义struct hash_node { int preSum; /* we'll use this field as the key */ int count; UT_hash_handle hh; /* makes this structure hashable */};2. 添加HASH_ADD_INT(haslTb, preSum, hashNd);第一个参数:是自

2021-09-07 20:30:39 547

原创 leetcode146. LRU 缓存机制

leetcode146. LRU 缓存机制1. 题目:2. 解答:3. 引用1. 题目:运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键

2021-09-07 20:19:45 91

原创 C++基本语法

C++基本语法C++程序的定义例子创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入C++程序的定义C++程序可以定义为对象的集合,然后通过调用这些对象的方法进行交互1。对象 对象包括状态和行为,比如人的状态包括身高、体重等,人的行...

2019-03-05 10:21:15 688

原创 推荐系统——基于降维的近邻协同

推荐系统算法(二)处理偏差(1) 极大似然估计(2) 不完全数据的直接矩阵分解降维方法能够同时提高近邻方法的质量和效率。尤其是在稀疏矩阵中,即当两个用户共同评价过的物品很少,也能够计算其低维潜在向量之间的距离。由于降维能够根据潜在因子提供稠密的低维表示。因此,这种模型被称为潜在因子模型。包括:(1)创建数据的降维表示可以基于行的潜在因子也可以基于列的潜在因子。换句话说,对数据的降维表示是将物品...

2018-10-03 21:30:23 728

原创 推荐系统——基于近邻的协同过滤

推荐系统算法(一)(1)基于用户的协同过滤解释(2)基于物品的协同过滤解释(1)基于用户的协同过滤解释该类型中,把与目标用户A相似的评分用来为A进行推荐。这些“同组群体”对每件物品的评分的加权平均值将用来计算A的预计评分。(2)基于物品的协同过滤解释为了推荐目标物品B,首先确定一个物品集合S,使S中的物品与B相似度最高。然后,为了预测任意一个用户A对B的评分,需要确定A对集合S中物品的...

2018-10-03 16:07:30 2360

原创 python方法(一):fromkeys(),deepcopy(),copy(),sort(),sorted()

(1) fromkeys( )描述fromkeys( )通过给定keys和values来创建一个新的字典,其中包括两个参数(2) deepcopy( )(3) copy( )(4) deepcopy( )和copy( )比较

2018-09-30 15:31:06 188

原创 优化方法——梯度下降

优化方法——梯度下降法(1)批处理(2)单样本处理(3)小批次样本处理Momentum假设目标函数为J(θ)J (\theta)J(θ) ,则一阶偏导为∇θJ(θ)\nabla_{\theta} J(\theta)∇θ​J(θ),η\etaη为迭代步长。(1)批处理Batch Gradient Descent参数更新:θ=θ−η∇θJ(θ)\theta=\theta-\eta\nabla_...

2018-09-29 09:51:30 263

编译原理代码

编译原理词法分析和语法分析报告,C语言版代码

2015-06-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除