自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 一些可能会导致Windows 10远程连接失败的常见原因以及如何解决这些问题的建议

远程桌面问题

2023-04-11 18:50:30 2950

原创 202. 快乐数

https://leetcode.cn/problems/happy-number/description/无限循环,那么也就是说求和的过程中,sum会重复出现

2022-12-04 16:07:57 215

原创 349. 两个数组的交集

https://leetcode.cn/problems/intersection-of-two-arrays/description/哈希表方法1:用数组方法2:用set

2022-12-04 15:31:31 209

原创 142. 环形链表 II

https://leetcode.cn/problems/linked-list-cycle-ii/description/快慢指针确定是否有环,fast移动两步,slow移动一步,如果有环会相等;有环后,确定环的入口。将fast指定为index1,head为index2,同时加一。相等时为环入口。

2022-12-04 14:43:05 201

原创 面试题 02.07. 链表相交

https://leetcode.cn/problems/intersection-of-two-linked-lists-lcci/返回两个单链表相交的起始节点,后面的长度是相等的,先分别求出单链表A、B长度,并求差。始终让curA指向表长最长的那个单链表,lenA也代表表长最长的那个单链表。求两个链表交点节点的指针。 交点不是数值相等,而是指针相等。

2022-12-03 22:30:53 116

原创 24. 两两交换链表中的节点

https://leetcode.cn/problems/swap-nodes-in-pairs/画图模拟一下过程

2022-12-03 22:02:30 189

原创 19.删除链表的倒数第N个节点

https://leetcode.cn/problems/remove-nth-node-from-end-of-list/description/快慢指针

2022-12-03 22:00:34 87

原创 59. 螺旋矩阵 II

模拟法,每条边遵循左开右闭。

2022-12-02 19:19:25 104

原创 904. 水果成篮

使用哈希表存储这个窗口内的数以及出现的次数,因为我们想每次保证最多只有两个不同的数。

2022-11-27 14:18:17 120

原创 209. 长度最小的子数组

【代码】209. 长度最小的子数组。

2022-11-27 13:45:41 123

原创 977. 有序数组的平方

双指针,一个从头往后一个从后忘前,新申请一个vector存放排序后的值。

2022-11-27 12:45:39 141

原创 283. 移动零

定义两个指针,分别指向两字符串的末尾。每次我们让两指针逆序地遍历两字符串,直到两字符串能够各自确定一个字符,然后将这两个字符进行比较。重复这一过程直到找到的两个字符不相等,或遍历完字符串为止。一个字符是否会被删掉,只取决于该字符后面的退格符,而与该字符前面的退格符无关。因此当我们逆序地遍历字符串,就可以立即确定当前字符是否会被删掉。

2022-11-26 21:12:57 84

原创 283. 移动零

快慢指针,slow之后要补0;

2022-11-26 20:10:59 108

原创 26. 删除有序数组中的重复项

升序排列 的数组 nums ,请你 原地 删除重复出现的元素,快慢指针,fast和fast-1的值做对比。

2022-11-26 19:59:11 75

原创 27. 移除元素

双指针法(快慢指针法)在数组和链表的操作中是非常常见的,很多考察数组、链表、字符串等操作的面试题,都使用双指针法。要知道数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能覆盖。仅使用 O(1) 额外空间并 原地 修改输入数组,快慢指针。

2022-11-26 18:55:08 157

原创 35. 搜索插入位置

nums 为 无重复元素 的 升序 排列数组, 二分法。

2022-11-26 15:16:47 123

原创 704. 二分查找

所有元素有序是不重复的,二分法。

2022-11-26 15:13:53 89

原创 pycharm复现论文遇到的环境问题

1、在安装anaconda环境后,conda activate (evironment name) or source activate (environment name) 发现在激活时,显示没有环境,但是使用命令conda info --envs后,发现环境是存在的。

2022-09-19 20:10:01 1041

原创 关于pycharm的console中运行py出现SyntaxError: invalid syntax的情况

关于pycharm的console中运行py出现SyntaxError: invalid syntax的情况原因解释:console是python的interpreter也就是解释器,而“pip install visdom”是运行解释器的命令,但是“解释器里面不能再输入命令运行解释器”,因此报错。理解解释器interpreter,终端terminal,集成开发环境IDE的区别注意:anaconda是环境,不是IDE,一般用于管理pycharm里面的库,调用库很方便,不用每次pip install

2022-04-26 20:29:20 2303

原创 anaconda虚拟环境中更换镜像源安装pytorch

anaconda虚拟环境中pytorch安装下载速度过慢更换镜像后可能报错解决方案原因分析下载速度过慢更换镜像:在虚拟环境中输入:在虚拟环境下,依次输入:TUNA 还提供了 Anaconda 仓库的镜像,运行以下命令即可添加 Anaconda Python 免费仓库conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels http

2022-04-26 19:58:07 1838

原创 矩阵中的路径

方法:dfs+剪枝思路:dfs:1、递归参数:矩阵元素的位置i,j,字符串中的位置k2、终止条件:false:i,j不在合法范围矩阵元素与字符串元素不同矩阵元素已经访问过了true:k的位置正好到字符串末尾3、递推过程a、标记当前矩阵元素,置为空‘\0’;b、搜索下一个单元格,上下左右四个方向,bool res = dfs采用||,满足一个即可c、还原当前矩阵元素,board[i][j]=word[k];4、返回值:返回false or trueclass Solutio.

2022-02-26 23:50:11 111

原创 整数转罗马数字

模拟法:列表思路:为了表示一个给定的整数num,寻找不超过num的最大符号值,用num减去该符号值,然后继续找不超过num的符号值,循环直至到0。最后得到的字符串就是num的罗马数字表示。建立数值-符号对的列表valueSymbols,按数值从大到小排列。遍历每个数值-符号对,如果当前数值不超过当前num,则从num中不断减去value,直至num小于value,再遍历下一个数值-符号对。循环到num的值为0跳出循环。const pair<int, string> valueSymbol

2022-02-23 21:22:27 198

原创 13.罗马数字转整数

思路:模拟法通常情况下,罗马数字中小的数字在大的数字的右边。若输入的字符串满足该情况,那么可以将每个字符视作一个单独的值,累加每个字符对应的数值即可。若存在小的数字在大的数字的左边的情况,根据规则需要减去小的数字。对于这种情况,我们也可以将每个字符视作一个单独的值,若一个数字右侧的数字比它大,则将该数字的符号取反。class Solution {private: unordered_map<char,int> symbolValues={ {'I',1}, .

2022-02-23 20:47:45 144

原创 917.仅仅反转字母

题目给你一个字符串 s ,根据下述规则反转字符串:所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。返回反转后的 s 。方法一:双指针c++class Solution {public: string reverseOnlyLetters(string s) { int n=s.size(); int left=0,right=n-1; while(true){ while(left<right&am

2022-02-23 20:20:50 433

原创 【阿里巴巴】笔试在线编程

【阿里巴巴】题目:小强作为强班的班长.决定带着包含他在内的个同学去春游.路程走到一半,发现前面有一条河流.且只有一条小船.经过实验后发现,这个小船一次最多只能运送两个人.而且过河的时间是等于两个人中体重较大的那个人的体重.如果只有一个人,那么过河时间就是这个人的体重.现在小强想请你帮他分析如何安排才能在最短时间内使所有人都通过这条河流.小强很懒,他并不想知道具体怎么过河,只要你告诉他最短的时间.思路:人数大于4时,过河时先将最重的两个人渡过去,此时有两种思路,一种是最轻的人走2次,每次带一个。另一种是最轻

2022-02-09 20:14:24 350

原创 233. 数字 1 的个数:给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。

题目:给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。1、暴力求解法:class Solution {public: int countDigitOne(int n) { int res=0; for(int i=1;i<=n;i++){ string str=to_string(i); res+=count(str.begin(),str.end(),'1');

2021-03-03 21:01:39 2473 1

原创 231. 2的幂:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

题目:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。题解:按位与的作用及用法,参考链接:[按位与的作用](https://blog.youkuaiyun.com/yuzou____5000/article/details/113578133)如果见过的就会class Solution {public: bool isPowerOfTwo(int n) { if(n<=0) return false; if((n&n-1)==0

2021-03-03 18:39:50 172 1

原创 230. 二叉搜索树中第K小的元素:给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。题解:二叉搜索树,使用中序遍历,得到从小到大的数,每递归一次,count++;当count==k时,得到第k小的元素。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; *

2021-03-03 18:24:00 757 1

原创 229. 求众数 II给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。

进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)的算法解决此问题题解:摩尔投票法选出出现频数最多的值。O(N)时间,O(1)空间。摩尔投票法分为两个阶段:抵消阶段和计数阶段。抵消阶段: 两个不同投票进行对坑,并且同时抵消掉各一张票,如果两个投票相同,则累加可抵消的次数;计数阶段: 在抵消阶段最后得到的抵消计数只要不为 0,那这个候选人是有可能超过一半的票数的,为了验证,则需要遍历一次,统计票数,才可确定。升级的摩尔投票在于最终的候选者(众数)有一个或者两个;因为题目要求了超过N/3,如

2021-03-03 16:58:31 578

原创 228. 汇总区间 :给定一个无重复元素的有序整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属

给定一个无重复元素的有序整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。题解:依题意知,一个区间内的数是依次递增1;一次遍历,记录区间的左右端点。利用mov进行移动与判断class Solution {public: vector<string> summaryRanges(vector<int>& nums)

2021-03-03 11:27:54 652

原创 227. 基本计算器 II:实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。

实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。题解:在第一个数字字符前添加一个标记字符,默认为‘+’;将每一个符号和数字看成一个整体;+/-进容器,*/直接运算;最后遍历容器,将所有数字加起来。class Solution {public: int calculate(string s) { char sign = '+'; int n

2021-03-03 10:31:43 1633

原创 206. 反转链表:反转一个单链表。

题解一:迭代法:在遍历链表时,将当前节点的 next 指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点pre。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * .

2021-03-02 21:18:15 127

原创 142. 环形链表 II:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?题解方法一:使用hash表,遍历一次链表/** * Definition for singly-linked list. * stru

2021-03-02 16:13:53 130

原创 141. 环形链表: 给定一个链表,判断链表中是否有环。

给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量)内存解决此问题吗?题解方法一:hash表遍历所有节点,每次遍历到一个节点时,

2021-03-02 15:33:27 96

原创 513. 找树左下角的值: 给定一个二叉树,在树的最后一行找到最左边的值。

给定一个二叉树,在树的最后一行找到最左边的值。题解:使用层次遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), l

2021-03-02 14:57:24 260

原创 NC22 合并两个有序的数组:时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:69590 本题知识点: 数组 双指针

时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:69590本题知识点: 数组 双指针算法知识视频讲解题解:从后往前可以不用申请额外空间class Solution {public: void merge(int A[], int m, int B[], int n) { int len=m+n; int tail1=m-1,tail2=n-1; int cur=len-1;

2021-03-02 11:13:41 281

原创 NC41 最长无重复子串:给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。

时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M 热度指数:49497本题知识点: 哈希 双指针 字符串算法知识视频讲解题目描述给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。题解:set去重双指针left、right标记中间段无重复字串的左右两端遍历字符串,当右指针超过字符串标记位,停止遍历,每次查询一个字符后,进行判断,如果无重复,right++;若重复,消除arr【left】,left++;cla

2021-03-02 10:38:42 2052

原创 涨知识static const auto io_sync_off = [](){std::ios::sync_with_stdio(false); std::cin.tie(nullptr);}();

static const auto io_sync_off = [](){ // turn off sync std::ios::sync_with_stdio(false); // untie in/out streams std::cin.tie(nullptr); return nullptr;}();第一次遇到在算法题中用到匿名函数,百度了一下,了解到是个Lambda表达式,是c++ 11 的新特性,花了点时间翻阅《c++ primer》把重要的地方的

2021-03-01 23:35:41 600

原创 剑指offer-NC4 判断链表中是否有环

解法快慢指针的解法, 一个指针走两步 一个指针走一步,如果快指针直接到了null 说明没有环, 如果有环的话 总有一次结果会让快指针和慢指针相等。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {publi

2021-03-01 18:25:46 173

原创 Pycharm 中 遇到Unresolved reference’mertics‘

在编程过程中,遇到很多错误,提示都是unresolved reference,解决办法如下:1、点击菜单栏上的File -> Setting ->Build,Executing,Development ->Console -> Python Console2、将Add source roots to PYTHONPATH勾选上3、点击Apply4.ok5.清除缓存并重启项目...

2021-03-01 14:55:24 368

空空如也

空空如也

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

TA关注的人

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