自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(164)
  • 问答 (6)
  • 收藏
  • 关注

原创 [MAC][远程服务器][VSCODE]如何在MAC下配置VSCODE编辑远程服务器

1.第一步 配置公钥1.1在本地Mac终端下创建公钥ssh-keygen1.2生成 authorized_keys 文件cd ~/.sshcat id_rsa.pub >> authorized_keys1.3上传本地公钥authorized_keys到服务器mkdir -p ~/.sshchmod 700 ~/.ssh将authorized_keys上传到~/.ssh文件夹chmod 600 ~/.ssh/authorized_keys1.4 重启服务器2.第二

2021-05-30 19:56:53 654 1

原创 C++命名规则

1.通用命名规则函数命名,变量命名,文件命名要有描述性;少用缩写。用缩写也要用大家都知道的缩写,比如num表示数量,dns是域名解析服务器(domin name sever),i表示迭代变量,T表示模板参数。1.1文件命名文件名要全部小写,单词之间可以使用‘-’或者‘_’等连接,C++文件以.cc结尾,头文件以.h结尾。特别指出,定义类时文件名一般出现,也就是名称相同后缀不同。比如:Food类,C++文件food.cc和food.h1.2类型命名类型名称的每个单词的首字母..

2021-03-05 12:10:44 3342

原创 当电脑无法向可移动设备拷贝文件,如何解决

1.首先,我测试了自己的U盘和硬盘,我的电脑都不可以拷贝文件到U盘和硬盘。然后用另外一台电脑测试了移动设备,发现都没有问题,并且移动设备的文件可以拷贝到电脑,这说明是在我电脑无法进行可移动设备的写入。2.cmd打开输入gpedit.msc3.计算机配置-》管理模板-》系统4.然后选可移动存储访问,双击可移动磁盘5.将这个权限禁用就可以...

2021-01-12 23:40:29 5303

原创 不用U盘安装win10系统

电脑已经有系统,下载windows10镜像(.ISO),双击打开,运行setup.exe,就开始安装了 这个时间会比较久安装好之后,需要进行激活。我由于是在校生,学校购买了正版软件,直接下载学校的激活软件,进行激活。这次安装经历了一些小插曲:下载了旧版的激活软件,调整了很久都没有办法激活,最后拨打了客服电话。以后遇到问题还是先官网看看解决问题。...

2021-01-05 14:54:27 1558

原创 Leetcode 201. 数字范围按位与

201. 数字范围按位与题目给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。示例 1:输入: [5,7] 输出: 4 示例 2:输入: [0,1] 输出: 0代码int rangeBitwiseAnd(int m, int n) { //无符号数按位与 //寻找公共前缀 int i=0; while(m!=n){

2020-11-22 15:16:25 199

原创 C++:Lambda在sort中的使用

sort(res.begin(),res.end(),[x,y](const vector<int>a,const vector<int>b){ int s1=abs(a[0]-x)+abs(a[1]-y); int s2=abs(b[0]-x)+abs(b[1]-y); return s1<s2; });解释:x,y是base,排序的目标是按照将这个点的集合,按照距离x,y的曼哈顿距.

2020-11-17 20:46:04 6082

原创 Leetcode | 57. 插入区间

给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例1:输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9]]示例2:输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]输出:[[1,2],[3,10],[12,16]..

2020-11-04 16:55:35 184

原创 Linux 入门 | vi基本操作

声明:本文首发于个人公众号:写点代码1vi的工作方式是命令方式和输入方式处于命令方式时,用户键入的内容被当作vi的命令来解释,一般处于命令方式下按键无回显(以冒号打头的命令和查找命令/除外)。编辑命令i,a等,可以从命令方式转到输入方式。处于输入方式时,用户键入的所有内容全部作为输入的正文内容,用户可以输入多行,每输入完一行后按回车转入下一行,正文输入时有回显。输入完毕按键盘左上角的Esc键,返回到命令方式。2 命令子集(1)单字符移动:左下上右;h 光标左移...

2020-10-28 15:51:20 555

原创 Linux入门 | 文本处理和正则表达式

声明:本文首发于个人公众号:写点代码。​1文本处理基本操作more/less:逐屏显示文本,一般用在很长的文件查看head/tail:查看文件头几行或者末尾几行head-ntail-nwc:word count,对于文本进行计数wc-l按照回车符计算有多少行wc-c计算有多少单词tr:translate翻译字符,可以将一个字符串替换为另外一个字符串trstring1string2sort:对文本进行排序sort-n表示倒序...

2020-10-28 15:50:02 223

原创 Linux入门(一)

申明:内容首发于公众号:写点代码,感兴趣的小伙伴可以关注~​Linux是什么?Linux系统是一个多用户的系统,一个主机连接着多个字符终端,比如打字机,包含键盘,显示器,串口,简称tty。早期,主机负责程序的存储和处理,字符终端负责输入与输出。主机和终点之间使用电缆连接。如今,使用虚拟终端,使用tcp链接代替串口线,双向传递字节流。,如果使用安全终端,可以在tcp连接上进行加密处理。在不追求严谨的情况下,我们可以认为就是一个操作系统,然后我们使用命名行进行操作。通过基础命令去了解Linux1

2020-10-25 22:39:51 195

转载 算法面试基础:LR(逻辑回归)

逻辑回归 logistic分布函数和密度函数,手绘大概的图像 ...

2020-10-22 18:01:59 351

原创 算法面试基础:SVM

SVM简单介绍SVMSVM是一个二分类的方法,通过最大化超平面距离正负样本之间的距离实现最大化间隔来进行分类。由于是存在约束条件,不好求解,所以借助拉格朗日法转化为无约束问题,求解其对偶问题,再使用SMO算法求解析解。从分类平面,到求两类间的最大间隔,到转化为求间隔分之一等优化问题:loss=min(1/2·||W||·||W||) subject to:y(wx+b)>=1,其中||·||为2范数 然后就是优化问题的解决办法,首先是用拉格拉日乘子把约束优化转化为无约束优化,对各个变量求导

2020-10-22 15:41:25 232

原创 亚马逊软件开发面经

一面1.1401. 圆和矩形是否有重叠只要圆心在如图区域内则表示有解,否则没有。 int distance(int x1,int y1,int x2,int y2){ return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); } bool IncludeRectangle(int x,int y,int x1,int y1,int x2,int y2){ if(x>=x1&&x<=x2&

2020-09-11 23:22:26 686

转载 Linux 下建立 Git 与 GitHub 的连接并克隆到本地

Linux 下建立 Git 与 GitHub 的连接并克隆到本地https://blog.youkuaiyun.com/angus_01/article/details/80118088

2020-05-19 23:01:26 244

转载 [pytorch]python的pytorch中contiguous方法

https://zhuanlan.zhihu.com/p/64551412 知乎大佬的解释

2020-04-14 14:48:08 329

原创 [C++][Leetcode][动态规划]编辑距离

编辑距离算是一个比较经典的问题,可以用于常见的拼写纠错。1.Leetcode 72编辑距离题目描述给定两个单词word1 和word2,计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例1:输入: word1 = "horse", word2 = "ros"输出: 3解释...

2020-04-03 20:12:07 502

原创 [C++][Leetcode]Two Sum以及其变形

目录1.Leetcode 1两数之和2.Leetcode 15三数之和3.Leetcode 16最接近的三数之和4.Leetcode 18四数之和5. Leetcode 454四数之和II1.Leetcode 1两数之和题目描述给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标...

2020-04-02 20:40:52 582

原创 [C++][Leetcode][TopK]前K大问题+前K高频(堆+map)

前两天面试的时候,面试官问了前K大的问题:先是找前K大数,其次是前K高频数。按照面试官的思路一道一道展开~对总体过程中思考的知识点进行一个总结:为什么快排常用? 在大规模数据的时候,快速排序只会线性增长,而堆排序增加幅度很大,会远远大于线性。 堆排序指针寻址会耗费很多时间,但是快速排序的话只是移动到前后位置。 参考博文为什么快排最好 介绍一下C++构造函数? 构造函数没有...

2020-03-31 20:01:38 939

原创 [C++][leetcode]dfs+搜索问题

dfs求解的思路:首先是确定开始的状态集合,也就是一个起点还是多个起点。其次,是搜索的集合,有多少种状态可以到达。比如上下左右是四种。最后就是按照题目要求返回求解的内容,常见的就是求连通图的个数。Leetcode980:不同路径III在二维网格 grid 上,有 4 种类型的方格:1 表示起始方格。且只有一个起始方格。2 表示结束方格,且只有一个结束方格。0 表示...

2020-03-27 21:58:36 522

原创 [剑指offer][Leetcode.104]二叉树的最大深度

题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例: 给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。分析递归方法我们如何求解深度呢,如果没有节点,返回0。如果只有一个节点,那么深度为1.如果只有左子树,没有右子树,那么深度是左子树的深度+1,反之亦然。如...

2020-02-11 21:52:20 229

原创 [剑指offer][leetcode.142]环形链表II

题目给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是-1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1 输出:tail connects to node index 1...

2020-02-08 15:17:04 337

原创 [剑指offer][leetcode.141]环形链表

题目给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:...

2020-02-08 15:04:13 309

原创 [剑指offer][leetcode.160]相交链表

题目编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 ...

2020-02-08 01:40:45 233

原创 [剑指offer][Leetcode.234]回文链表

题目请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?分析判断一个链表是否为回文链表,首先需要找到中点,然后进行对比。于是,采用快慢指针找到中点。在找中点的时候,我们采用慢指针,边遍历边反转。当我...

2020-02-08 00:40:49 202

原创 [剑指offer][leetcode.92]反转链表II

题目反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL分析使用头插法进行反转,也就是不断地将需要反转的节点插在前面。为了方便,我们新建一个哨兵...

2020-02-07 20:21:06 133

原创 [剑指offer][leetcode.206]反转链表

题目反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?分析1.迭代反转对于一个没有头节点的链表进行反转:起码需要只要反转哪个节点(pcur)以及反转后指向哪个节点(pre)。迭代过程需要更...

2020-02-07 18:00:08 228 1

原创 [剑指offer][leetcode]面试22:链表中倒数第k个节点

题目输入一个链表,输出该链表中倒数第k个结点。分析类似于链表的中间节点,我们采用快慢指针通过遍历一次链表解决这个问题。我们要找的是倒数第k个节点,倒数第k个节点和最后一个节点距离是k-1。由此,如果快指针和慢指针相距k-1个节点,当快指针到达最后一个节点的时候,慢指针刚好到达倒数第k个节点。所以我们设立两个指针,快指针先走k-1步,然后两个指针同时开始走,当快指针到末尾的时候,慢指针到达...

2020-02-07 16:53:28 503

原创 [剑指offer][leetcode.876]链表的中间节点

题目给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ...

2020-02-07 16:21:09 296

原创 [剑指offer][leetcode.83]删除排序链表中的重复元素

题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3分析和移除链表元素同理,只是比较的是相邻元素。ListNode* deleteDuplicates(ListNode* head) {...

2020-02-06 18:56:03 163

原创 [剑指offer][leetcode.203]移除链表元素

题目删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5分析为了防止删除的是头节点,增加一个空的头节点,然后依次遍历就可以。如果当前节点是val,那么指向其的下一个节点。ListNode* removeElements(Li...

2020-02-06 18:51:25 149

原创 [剑指offer][leetcode.237]删除链表中的节点

题目请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 ...

2020-02-06 18:46:21 182

原创 [剑指offer][leetcode]面试题18:删除链表的节点

1. 在O(1)时间内删除链表节点给定一个单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。首先定义一个结构体表示链表元素typedef struct ListNode* Link;//写一个包括链表结构的结构体struct ListNode{ int val; struct ListNode* next;};将链表元素存储在数组中...

2020-02-06 18:36:03 349

原创 [剑指offer][链表]面试题6:从尾到头打印链表

题目输入一个链表,按链表从尾到头的顺序返回一个ArrayList。分析从尾到头要求先遍历到的后面输出,也就是先进后出。所以我们使用栈来保存从前到后遍历的元素即可。 vector<int> printListFromTailToHead(ListNode* head) { //先进后出的思想 stack<int>s; ...

2020-01-30 19:50:48 153

原创 [Leetcode.125]验证回文串

题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false分析我们使用双指针来做,iii一个指针指向开头,jjj一个指针指向结尾。如果相...

2020-01-30 17:06:49 148

原创 [Leetcode.88][数组]合并两个有序数组

提要这是一道根据面试题5:替换空格从后向前遍历的一道拓展题。题目给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:n...

2020-01-30 15:41:52 167

原创 [剑指offer][字符串]面试题5:替换空格

题目请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。分析这道题是一道字符串处理的题,从前向后遍历,如果遇到空格,就将后面的元素向后移动两位。如此一来,如果有n个空格,后面的串就要移动n次,时间复杂度为O(n2)O(n^2)O(n2)。需要明确的是,每次遇到空格处理之后,串尾的长度...

2020-01-30 15:11:57 195

原创 [Leetcode]数组形式的整数加法

题目对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。示例 1:输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234示例 2:输入:A = [2,7,4], K = ...

2020-01-29 22:33:08 195

原创 [剑指offer]面试题4:二维数组中的查找

二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。这道题需要观察数据的规律,我们会发现从右上角的元素开始比较,就可以轻松判断。如果比右上角的元素大,那么就只能向下着;如果比右上角的元素小,那么只能向左找。public: bo...

2020-01-28 22:36:19 163

原创 [剑指offer]面试题3+:数组中的重复元素

根据剑指offer数组中的重复元素,我在Leetcode上面找了几道类似的题进行练习。1.删除排序数组中的重复项I(Leetcode.26)给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], ...

2020-01-27 23:29:18 294

原创 剑指offer:面试题3:数组中重复的数字

1.数组介绍首先对数组进行基本的介绍,数组的特点就是连续存储。在C++中,我们一般有两种类型的数组:一种是静态数组,我们事先知道其大小。一种是动态数组,也就是vector,事先可以不规定大小。2.题目介绍这一类型题目有很多种类型,比如数组是否有序,重复元素的个数等等。2.1 找出数组中的重复元素在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有...

2020-01-27 17:31:43 349

空空如也

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

TA关注的人

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