自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 word2vec中的负采样与分层softmax

2023-10-07 19:17:11 165

原创 树状数组&线段树总结

两个数组之间的关系为:C[i]=A[i-2^k+1]+A[i-2^k+2]+…sum(9) = A[1] + A[2] + A[3] + A[4] + A[5] + A[6] + A[7] + A[8] + A[9] = C[9] + C[8] → C[9] 的前驱是C[8]sum(7) = A[1] + A[2] + A[3] + A[4] + A[5] + A[6] + A[7] = C[7] + C[6] + C[4] → C[7] 的前驱是C[6]、C[4]

2023-09-13 11:42:09 204

原创 Norm技术

bn缺点:训练预测mean/var不一致问题,每个batch的mean/var不一致才好,依赖于mini-batch,需要每个batch内的数据分布一致(要对数据做打乱),对rnn网络不友好好处:因为是mini-batch相关的,所以引入了一定的噪声,提升了模型鲁棒性,缓解了过拟合ln适用于rnn网络,不依赖于mini-batchwnbn/ln归一化特征,wn归一化权重,把权重分解成参数向量和参数标量,但这个操作增大了很多需要计算的参数,引入wn会增加很多计算量...

2021-12-13 17:04:06 1204

原创 5883. 判断单词是否能放入填字游戏内

给你一个m x n的矩阵board,它代表一个填字游戏当前的状态。填字游戏格子中包含小写英文字母(已填入的单词),表示空格的' '和表示障碍格子的'#'。如果满足以下条件,那么我们可以 水平(从左到右 或者从右到左)或 竖直(从上到下 或者从下到上)填入一个单词:该单词不占据任何'#'对应的格子。每个字母对应的格子要么是' '(空格)要么与 board中已有字母 匹配。如果单词是 水平放置的,那么该单词左边和右边 相邻格子不能为' '或小写...

2021-09-27 20:47:46 187

原创 状态压缩dp

526. 优美的排列假设有从 1 到 n 的 n 个整数。用这些整数构造一个数组 perm(下标从 1 开始),只要满足下述条件 之一 ,该数组就是一个 优美的排列 :perm[i] 能够被 i 整除i 能够被 perm[i] 整除给你一个整数 n ,返回可以构造的 优美排列 的 数量 。示例 1:输入:n = 2输出:2解释:第 1 个优美的排列是 [1,2]: - perm[1] = 1 能被 i = 1 整除 - perm[2] = 2 能被 i = 2 整除...

2021-09-14 12:03:16 306

原创 矩阵相关

面试题 17.24. 最大子矩阵给定一个正整数、负整数和 0 组成的 N × M矩阵,编写代码找出元素总和最大的子矩阵。返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和列号,r2, c2 分别代表右下角的行号和列号。若有多个满足条件的子矩阵,返回任意一个均可。注意:本题相对书上原题稍作改动示例:输入:[ [-1,0], [0,-1]]输出:[0,1,0,1]解释:输入中标粗的元素即为输出所表示的矩阵class S...

2021-08-26 00:33:25 179

原创 算法题复习提高篇

2021-07-08 10:17:43 300

原创 一些知识记录

BN作用:加速收敛,缓解梯度消失(拉回sigmod梯度大的区域),在一定的程度上引入了噪声,起到了一点抗过拟合的作用,但用到了每个mini batch的yi'jie

2021-06-03 14:45:36 107

原创 CAN

动机,作者提到特征协同对ctr预测是很有用的,但以前的方式都是单独输入特征让模型去学习这种特征协同,这样的话模型要学出来好的特征协同比较困难,如果我们能把特征协同处理好一起作为输入,就可以避免前面提到的情况。一个最简单的利用特征协同的方式就是对两两特征做笛卡尔积,这样效果虽然很好,但会导致参数空间变大,使得模型变得复杂,CAN就是提出了一个解决办法,来降低这个参数空间并且达到和笛卡尔积一样的效果...

2021-04-13 11:56:16 126

原创 395. 至少有 K 个重复字符的最长子串

给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串,要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。示例 1:输入:s = "aaabb", k = 3输出:3解释:最长子串为 "aaa" ,其中 'a' 重复了 3 次。示例 2:输入:s = "ababbc", k = 2输出:5解释:最长子串为 "ababb" ,其中 'a' 重复了 2 次, 'b' 重复了 3 次。提示:1 <= s.length <= 1041....

2021-03-01 23:04:15 133

原创 1052. 爱生气的书店老板

1052. 爱生气的书店老板难度中等158今天,书店老板有一家店打算试营业customers.length分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第i分钟生气,那么grumpy[i] = 1,否则grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续X分钟不生气,但...

2021-03-01 00:05:14 172

原创 石子游戏

877. 石子游戏亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子piles[i]。游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。假设亚历克斯和李都发挥出最佳水平,当亚历克斯赢得比赛时返回true,当李赢得比赛时返回false。示例:输入:[5,3,4,5]输出:true...

2021-02-21 15:25:28 247

原创 极大极小问题

1760. 袋子里最少数目的给你一个整数数组nums,其中nums[i]表示第i个袋子里球的数目。同时给你一个整数maxOperations。你可以进行如下操作至多maxOperations次:选择任意一个袋子,并将袋子里的球分到2 个新的袋子中,每个袋子里都有 正整数个球。比方说,一个袋子里有5个球,你可以把它们分到两个新袋子里,分别有 1个和 4个球,或者分别有 2个和 3个球。你的开销是单个袋子里球数目的 最大值,你想要 最小化开销。请你返...

2021-02-17 15:43:21 737

原创 1759. 统计同构子字符串的数目

给你一个字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 + 7 取余 后的结果。同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。子字符串 是字符串中的一个连续字符序列。示例 1:输入:s = "abbcccaa"输出:13解释:同构子字符串如下所列:"a" 出现 3 次。"aa" 出现 1 次。"b" 出现 2 次。"bb" 出现 1 次。"c" 出现 3 次。"cc" 出现 2 ...

2021-02-16 11:35:35 162

原创 567. 字符串的排列

给定两个字符串s1和s2,写一个函数来判断 s2 是否包含 s1的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2:输入: s1= "ab" s2 = "eidboaoo"输出: False1.看透本质,就是窗口内的字符相同即可无关顺序,滑动窗口2.很Python的写法class Solution: ...

2021-02-10 11:36:15 156

原创 992. K 个不同整数的子数组

给定一个正整数数组 A,如果 A的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。(例如,[1,2,3,1,2] 中有3个不同的整数:1,2,以及3。)返回A中好子数组的数目。示例 1:输入:A = [1,2,1,2,3], K = 2输出:7解释:恰好由 2 个不同整数组成的子数组:[1,2], [2,1], [1,2], [2,3], [1,2,1], [2,1,2], [1,2,1,2]1.暴力,维护K<n的窗口,一...

2021-02-09 10:54:40 112

原创 剑指 Offer 33. 二叉搜索树的后序遍历序列

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树: 5 / \ 2 6 / \1 3示例 1:输入: [1,6,3,2,5]输出: false1.bst一个很通用的思想是递归,找到根节点后,将序列划分成左右,处理好左右再对左右进行递归class Solution: def verifyPostorder(s...

2021-02-08 21:59:17 199

原创 978. 最长湍流子数组

当 A的子数组A[i], A[i+1], ..., A[j]满足下列条件时,我们称其为湍流子数组:若i <= k < j,当 k为奇数时,A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1];或 若i <= k < j,当 k 为偶数时,A[k] > A[k+1],且当 k为奇数时,A[k] < A[k+1]。也就是说,如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子数组。返回 A 的最...

2021-02-08 15:26:19 171

原创 665. 非递减数列

给你一个长度为n的整数数组,请你判断在 最多 改变1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的:对于数组中所有的i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。1.一边遍历一边修改数组class Solution: def checkPossi...

2021-02-07 11:23:05 146

原创 1423. 可获得的最大点数

几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。示例 1:输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右边的卡牌将会最大化你的可获..

2021-02-06 12:41:55 110

原创 1733. 需要教语言的最少人数

在一个由m个用户组成的社交网络里,我们获取到一些用户之间的好友关系。两个用户之间可以相互沟通的条件是他们都掌握同一门语言。给你一个整数n,数组languages和数组friendships,它们的含义如下:总共有n种语言,编号从1 到n。languages[i]是第 i位用户掌握的语言集合。friendships[i] = [u​​​​​​i​​​, v​​​​​​i]表示u​​​​i​​​​​ 和vi为好友关系。你可以选择 一门语言并教会一些用户,使...

2021-01-28 12:14:59 118

原创 1128. 等价多米诺骨牌对的数量

给你一个由一些多米诺骨牌组成的列表dominoes。如果其中某一张多米诺骨牌可以通过旋转 0度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。形式上,dominoes[i] = [a, b]和dominoes[j] = [c, d]等价的前提是a==c且b==d,或是a==d 且b==c。在0 <= i < j < dominoes.length的前提下,找出满足dominoes[i] 和dominoes[j]等价的骨牌对 (i,...

2021-01-26 10:23:49 108

原创 536. 从字符串生成二叉树

class Solution: def str2tree(self, s: str) -> TreeNode: i = 0 def build(): nonlocal i if i == len(s): return val = '' # 提取数字 while i < len(s) and (s[i]...

2021-01-21 11:02:49 211

原创 5243. 同积元组

给你一个由 不同 正整数组成的数组 nums ,请你返回满足a * b = c * d 的元组 (a, b, c, d) 的数量。其中 a、b、c 和 d 都是 nums 中的元素,且 a != b != c != d 。示例 1:输入:nums = [2,3,4,6]输出:8解释:存在 8 个满足题意的元组:(2,6,3,4) , (2,6,4,3) , (6,2,3,4) , (6,2,4,3)(3,4,2,6) , (3,4,2,6) , (3,4,6,2) , (4,3,..

2021-01-17 16:20:24 184

原创 1209. 删除字符串中的所有相邻重复项 II

1209. 删除字符串中的所有相邻重复项 II给你一个字符串s,「k 倍重复项删除操作」将会从 s中选择k个相邻且相等的字母,并删除它们,使被删去的字符串的左侧和右侧连在一起。你需要对s重复进行无限次这样的删除操作,直到无法继续为止。在执行完所有删除操作后,返回最终得到的字符串。本题答案保证唯一。示例 1:输入:s = "abcd", k = 2输出:"abcd"解释:没有要删除的内容。1.相邻元素的操作,很明显的使用栈解决 ,值得注意的一个优化的点是可以做空...

2021-01-15 15:30:59 153

原创 1018. 可被 5 整除的二进制前缀

1018. 可被 5 整除的二进制前缀难度简单74给定由若干0和1组成的数组A。我们定义N_i:从A[0]到A[i]的第i个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表answer,只有当N_i可以被5整除时,答案answer[i]为true,否则为false。示例 1:输入:[0,1,1]输出:[true,false,false]解释:输入数字为 0, 01, 011;也就是十进制中的 0, 1, 3 。只有...

2021-01-14 10:37:14 86

原创 各种dp混合专题

当 A的子数组A[i], A[i+1], ..., A[j]满足下列条件时,我们称其为湍流子数组:若i <= k < j,当 k为奇数时,A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1];或 若i <= k < j,当 k 为偶数时,A[k] > A[k+1],且当 k为奇数时,A[k] < A[k+1]。也就是说,如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子数组。返回 A 的最大...

2021-01-13 16:49:05 138

原创 1717. 删除子字符串的最大得分

给你一个字符串s和两个整数x 和y。你可以执行下面两种操作任意次。删除子字符串"ab"并得到x分。比方说,从"cabxbae"删除 ab,得到"cxbae"。删除子字符串"ba"并得到y分。比方说,从"cabxbae"删除 ba,得到"cabxe"。请返回对 s字符串执行上面操作若干次能得到的最大得分。示例 1:输入:s = "cdbcbbaaabab", x = 4, y = 5输出:19解释:- 删除 "cdbcbbaaab...

2021-01-11 20:15:16 172

原创 61. 旋转链表

给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5->1->2->3->NULL示例2:输入: 0->1->2-&g...

2021-01-08 11:21:28 80

原创 图算法

399. 除法求值难度中等331给你一个变量对数组equations和一个实数值数组values作为已知条件,其中equations[i] = [Ai, Bi]和values[i]共同表示等式Ai/ Bi= values[i]。每个Ai或Bi是一个表示单个变量的字符串。另有一些以数组queries表示的问题,其中queries[j] = [Cj, Dj]表示第j个问题,请你根据已知条件找出Cj/ Dj= ?的结果作为答案。返回所有问题的...

2021-01-06 11:47:04 196

原创 1046. 最后一块石头的重量

有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为x 和y,且x <= y。那么粉碎的可能结果如下:如果x == y,那么两块石头都会被完全粉碎;如果x != y,那么重量为x的石头将会完全粉碎,而重量为y的石头新重量为y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。示例:输入:[2,7,4,1,8,1]输出:1解释:先选出 7 和 8,得到 1,所以数...

2020-12-31 11:11:39 79

原创 142. 环形链表 II

给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释:链表中有一个环...

2020-12-30 13:43:48 81

原创 方正矩阵类题目

84. 柱状图中最大的矩形给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为[2,1,5,6,2,3]。class Solution: def largestRectangleArea(self, heights: List[int]) -> int: ''' 本质思路就是对一个元素i分别找到左和右.

2020-12-29 20:41:02 299

原创 1702. 修改后的最大二进制字符串

给你一个二进制字符串binary,它仅有0或者1组成。你可以使用下面的操作任意次对它进行修改:操作 1 :如果二进制串包含子字符串"00",你可以用"10"将其替换。比方说,"00010" -> "10010"操作 2 :如果二进制串包含子字符串"10",你可以用"01"将其替换。比方说,"00010" -> "00001"请你返回执行上述操作任意次以后能得到的 最大二进制字符串。如果二进制字符串 x对应的十进制数字大于二进制字符串 y对应的十...

2020-12-29 20:00:37 224

原创 1706. 球会落何处

用一个大小为 m x n 的二维网格 grid 表示一个箱子。你有 n 颗球。箱子的顶部和底部都是开着的。箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角,可以将球导向左侧或者右侧。将球导向右侧的挡板跨过左上角和右下角,在网格中用 1 表示。将球导向左侧的挡板跨过右上角和左下角,在网格中用 -1 表示。在箱子每一列的顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。如果球恰好卡在两块挡板之间的 "V" 形图案,或者被一块挡导向到箱子的任意一侧边上,就会卡住。返回一个大小为 n .

2020-12-28 16:02:44 115

原创 5638. 吃苹果的最大数目

有一棵特殊的苹果树,一连 n 天,每天都可以长出若干个苹果。在第 i 天,树上会长出 apples[i] 个苹果,这些苹果将会在 days[i] 天后(也就是说,第 i + days[i] 天时)腐烂,变得无法食用。也可能有那么几天,树上不会长出新的苹果,此时用 apples[i] == 0 且 days[i] == 0 表示。你打算每天 最多 吃一个苹果来保证营养均衡。注意,你可以在这 n 天之后继续吃苹果。给你两个长度为 n 的整数数组 days 和 apples ,返回你可以吃掉的苹果的最大.

2020-12-28 15:08:41 128

原创 23. 合并K个升序链表

给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6示例 2:输入:lists = [...

2020-12-22 17:03:58 126

原创 103. 二叉树的锯齿形层序遍历

给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层序遍历如下:[ [3], [20,9], [15,7]]1.普通bfs2.dfs是一个有意思的思路1.bfs略2.dfs# Definition for a binary tree n...

2020-12-22 11:59:58 95

原创 389. 找不同

给定两个字符串 s 和 t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = "abcd", t = "abcde"输出:"e"解释:'e' 是那个被添加的字母。示例 2:输入:s = "", t = "y"输出:"y"示例 3:输入:s = "a", t = "aa"输出:"a"示例 4:输入:s = "ae", t = "aea"输出:"a"1.hash o(n) o...

2020-12-18 11:02:05 136

原创 49. 字母异位词分组

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。1.排序+hash nklogk2.编码hash映射 nkclass Solution: def groupAnag...

2020-12-14 10:25:07 142

2000个apk下载链接

2000个用爬虫爬取得apk下载地址,大家快来下载吧

2019-04-16

空空如也

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

TA关注的人

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