自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

向着星辰大海

没有bug只有buff

  • 博客(106)
  • 收藏
  • 关注

原创 并查集实现(路径压缩)

并查集(Disjoint-Set)是一种可以动态维护若干个不重叠的集合,并支持合并与查询两种操作的一种数据结构。

2024-03-22 17:25:21 160 1

原创 Python中的异步async

首先来看一下异步模型。在异步模型中,允许同一时间发生(处理)多个事件。程序调用一个耗时较长的功能(方法)时,它并不会阻塞程序的执行流程,程序会继续往下执行。当功能执行完毕时,程序能够获得执行完毕的消息或能够访问到执行的结果(如果有返回值或需要返回值时)。下面通过一个示例来看一下同步和异步的区别。示例中程序通过网络获取两个文件,并对两个文件进行合并处理:在异步系统当中的解决方案是开启一个额外的线程进行处理。

2023-12-28 11:44:55 432 1

原创 BERT面试总结

因为BERT模型的位置向量采用绝对位置向量,通过训练得到训练得到的,在模型训练时,只训练了512个位置向量,所以模型的最大输入长度为512。为什么不不训练更多的位置向量,因为复杂度的问题,self-attention计算时的复杂度为O(seq^2,d),其中 seq为句子长度, d为向量的维度。句子变长,计算量急剧增加。1 压缩层数,然后蒸馏,直接复用12层bert的前4层或者前6层,效果能和12层基本持平,如果不蒸馏会差一些。

2023-06-02 18:23:05 1059 1

原创 Transformer总结

【代码】Transformer总结。

2023-05-30 22:19:19 591 1

原创 面经智力题

假设命中率是p,现在让你打十次靶命中7次就是C(10,7)*p^7*(1-p)^3,也就是似然函数,接下来你要极大化这个似然函数,只有它最大的时候,你的现实世界中才会表现出你打10枪中了7枪(现实发生的样本最有可能是整个样本空间中概率最大的)。连乘形式不好优化,于是取对数,求这个连乘式的最大值就是求7ln(p) + 3ln(1-p)最大值,令导数为0就可以得到7/p=3/(1-p),即p=0.7。1. 一个人打靶十次命中7次,命中率是70%,这个概率是怎么估算出来的。

2023-05-15 11:28:53 99

原创 Leetcode top200

【代码】Leetcode top100。

2023-05-08 01:42:57 187

原创 剑指offer刷题记录 python

刷题

2023-01-09 00:38:46 319

原创 Leetcode top 200

时间复杂度:O(m+n)空间复杂度:O(1)使用字典记录历史位置。

2022-08-15 17:24:43 213

原创 图算法总结(判断有环、最短路径)

有向图判断有环拓扑排序if __name__ == "__main__": v = [[0, 0, 0, 0, 1], [1, 0, 0, 0, 0], [0, 0, 0, 1, 1], [0, 0, 0, 0, 0], [0, 1, 0, 0, 0]] e = [[]] in_v = {} cnt = 0 visited = set() ...

2022-02-22 21:40:54 4102

原创 Python拷贝问题

直接赋值是可以的:改变原数组会导致问题:本质因为Python的变量实际是指针

2021-12-14 20:03:17 957

原创 剑指Offer刷题(Python)

矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。注意:输入的路径不为空; 所有出现的字符均为大写英文字母;样例matrix=[ ["A","B","C","E"], ["S","F","C","S"], ["A","D","E","E"]]str="BCCE" ,

2021-12-07 21:24:01 428

原创 C# 静态类使用

参考文档:C# 静态类(static class)静态类最大特性:无需也无法实例化 静态类只能有静态的方法 无论对一个类创建多少个实例,它的静态成员都只有一个副本(这也是我这个场景需要使用的原因)public static class Test { public static IList<int> iList = new List<int>(100); public static void MethodA() { // cod

2021-07-21 15:59:16 3276

原创 [c++] [leetcode二刷] 数组

Remove Duplicates from Sorted ArrayGiven a sorted arraynums, remove the duplicatesin-placesuch that each element appear onlyonceand return the new length.Do not allocate extra space for another array, you must do this bymodifying the input array...

2020-08-10 18:49:39 164

原创 windows平台VS code配置remote ssh

VS code romote ssh配置主要参考这篇博文:https://www.jianshu.com/p/d7c9cef525bc出现Connecting was canceled.问题主要报错:[13:34:40.403] Log Level: 2[13:34:40.414] [email protected][13:34:40.414] win32 x64[13:34:40....

2020-04-03 13:41:56 29619 13

原创 Git使用笔记

克隆远程仓库https://blog.csdn.net/ljk126wy/article/details/87881923新建分支https://www.cnblogs.com/smileyes/p/8943234.html

2020-02-20 16:41:43 281

原创 Python不调包实现逻辑回归和自动求导

导言逻辑回归是机器学习中最基础也最常用的模型一句话介绍LR:逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。LR具体的推导可以参考李航老师的统计学习方法为什么LR损失函数不选MSE,而采用极大似然估计(即交叉熵损失)参考:https://www.cnblogs.com/smartwhite/p/9109815.html对于...

2020-01-29 19:19:35 1421 1

原创 Tensorflow实现knn算法

导言knn是一个比较简单的机器学习算法,区别于其他算法,它没有显式的模型训练过程,模型直观简单,但是它的预测耗时较长(因为需要与所有训练样本进行举例计算,找出最近的k个训练样本进行投票,所有耗时久)。KNN中有一个比较重要的数据结构—KD树,用来优化这一过程,KD树在许多这类找最近k个样例的问题中,都有广泛的应用。KNN相关问题1、k值设定为多大?k太小,分类结果易受噪声点影响(模型复杂...

2020-01-28 19:03:11 1354

原创 numpy实现kmeans算法

导言基于numpy实现的kmeans要比基于TensorFlow的好写,基于TensorFlow的实现可以参考我的这篇博文:https://blog.csdn.net/qq_41058526/article/details/104093115具体实现import numpy as npimport copyimport random# 计算两个向量之间距离def ca...

2020-01-28 00:28:51 1217

原创 TensorFlow实现kmeans算法(字节跳动面试题)

目录导言关于Kmeanskmeans本质是EM算法的特殊情况Kmeans收敛性证明为什么在计算k-means之前要将数据点在各维度上归一化k-means不适用哪些数据(异常值对聚类中心影响很大,需要离群点检测和剔除)K值选择质心选择时间复杂度伪代码具体实现导言这题是我今年秋招面试字节跳动遇到的题,当时比较紧张,磕磕绊绊写了个大概,面试完后我又整理...

2020-01-27 16:10:54 2858 1

原创 mac Endnote x9插入文献引用使用指南

目录一、如何获得文献引用模板(1)万方二、修改引用文献生成的模板(1)改上标文献引用形式(2)修改输出引用格式三、word中如何插入引用一、如何获得文献引用模板(1)万方(1)点击导出(2)选择endnote(3)桌面新建一个txt,复制保存即可(4)选择File-importoptions更改为endnote而后选择刚...

2019-11-02 15:53:52 36590 12

原创 leetcode124 二叉树中的最大路径和(hard)

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例2:输入: [-10,9,20,null,null,15,7] -10/ \9 20/ ...

2019-09-21 13:54:14 181

原创 被3整除的子序列(hard)

链接:https://ac.nowcoder.com/acm/problem/21302来源:牛客网题目描述给你一个长度为50的数字串,问你有多少个子序列构成的数字可以被3整除答案对1e9+7取模输入描述:输入一个字符串,由数字构成,长度小于等于50输出描述:输出一个整数示例1输入 132输出 3思路:dp,记录每个位置中,除以3余数是1,...

2019-09-20 18:46:12 480

原创 ip地址与整数互转

1、ip地址转成整数原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成整数。举例:一个ip地址为10.0.3.193每段数字相对应的二进制数10000010100 000000003 000...

2019-09-20 15:31:09 1084

原创 leetcode886. 可能的二分法(hard)(dfs用于染色问题)

给定一组N人(编号为1, 2, ..., N),我们想把每个人分进任意大小的两组。每个人都可能不喜欢其他人,那么他们不应该属于同一组。形式上,如果 dislikes[i] = [a, b],表示不允许将编号为 a 和 b 的人归入同一组。当可以用这种方法将每个人分进两组时,返回 true;否则返回 false。示例 1:输入:N = 4, dislikes = [[1,...

2019-09-19 21:30:15 348

原创 leetcode85 最大矩形(hard)

题目给定一个仅包含0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0","0","1","0"]]输出: 6思路1:单调栈这题还是比较有技巧性的,可以将它转换成...

2019-09-19 15:45:27 248

原创 leetcode31 字典序下一个排列(mid)

题目实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路25431后面为完全逆序,...

2019-09-18 21:39:50 259

原创 leetcode486 预测赢家(排成一条线的纸牌博弈问题)

思路1:暴力递归法会超时#include <iostream>#include <vector>using namespace std;class Solution{public: // 为先手时 int first(int l,int r,vector<int> &nums){ // 只有一...

2019-09-18 20:49:16 420

原创 leetcode354 俄罗斯套娃信封问题(二维的最长上升子序列)

给定一些标记了宽度和高度的信封,宽度和高度以整数对形式(w, h)出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。说明:不允许旋转信封。示例:输入: envelopes = [[5,4],[6,4],[6,7],[2,3]]输出...

2019-09-18 16:46:07 243

原创 leetcode312 戳气球(hard)

题目有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组nums中。现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得nums[left] * nums[i] * nums[right]个硬币。这里的left和right代表和i相邻的两个气球的序号。注意当你戳破了气球 i 后,气球left和气球right就变成了相邻的...

2019-09-18 15:29:47 225

原创 换钱的方法数(hard,主要怎样去重)

思路1:空间压缩的dpdp[i]:表示换 i 的钱的方案数量这里注意去重,如2,3,5,换5的钱 0 1 2 3 4 5以2为起始 1 0 1 0 2 0以3为起始 1 0 1 12 1以5为起始 1 0 1 12 2故换5的钱一共2种方法:即2+3和5这里通过这样的顺序限定,使得2,3和3,2不会重复,因为必...

2019-09-17 23:32:35 98

原创 机器人达到指定位置的方法数(hard)

思路dp[i][j]:走i步,到j位置的方案数量dp[i][j] = dp[i-1][j-1]+dp[i-1][j+1]每个位置方案数,都等于上个时刻左右两边方案数,注意n+2和0的位置的padding,可以处理边界情况#include <iostream>#include <vector>using namespace std;//...

2019-09-17 18:49:35 643

原创 换钱的最少货币数

https://www.nowcoder.com/practice/4e05294fc5aa4d4fa8eacef2e606e5a8?tpId=101&tqId=33080&tPage=1&rp=1&ru=/ta/programmer-code-interview-guide&qru=/ta/programmer-code-interview-guide...

2019-09-17 16:59:45 225

原创 logN时间复杂度的斐波那契数列

引入矩阵幂次乘法class Solution {public: int fib(int n) { if(n < 1) return 0; if(n < 3) return 1; vector<vector<int>> begin{{1,1}}; vector<vector...

2019-09-17 16:08:33 427

原创 leetcode64 最小路径和

题目:给定一个包含非负整数的 mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。思路:经典dp,非常简单class Solution {public...

2019-09-17 15:35:29 72

原创 LeetCode504 七进制数

题目给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意: 输入范围是[-1e7, 1e7] 。思路参考十进制转二进制:不断的去除,获得的余数逆置789=1100010101(B)789/2=394 余1 第10位394/2=197 余0 第9位197/2=...

2019-09-17 14:18:05 257

原创 leetcode30 串联所有单词的子串(hard)

题目给定一个字符串s和一些长度相同的单词words。找出 s 中恰好可以由words 中所有单词串联形成的子串的起始位置。注意子串要与words 中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序。示例 1:输入: s = "barfoothefoobarman", words = ["foo","bar"]输出:[0,9]解释:...

2019-09-12 22:59:03 228

原创 leetcode29 两数相除(hard,位运算)

题目给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。示例1:输入: dividend = 10, divisor = 3输出: 3示例2:输入: dividend = 7, divisor = -3输出: -2说明:被除数和除数均...

2019-09-12 21:21:57 188

原创 leetcode28 实现 strStr()--KMP算法应用(hard)

题目实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needl...

2019-09-12 19:53:41 116

原创 leetcode25 K 个一组翻转链表

题目给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3-...

2019-09-12 16:08:48 148

原创 leetcode24 两两交换链表中的节点

题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.思路头插法,这题很简单/** * Definition for singly-linked list. * struct ListNod...

2019-09-12 14:07:06 85

空空如也

空空如也

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

TA关注的人

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