自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode二叉搜索树部分笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-12-18 10:46:34 426

原创 leetcode 栈部分笔记

用栈解决,首先遍历整个字符串数组,判断是否为操作符,如果是操作符,则需要进行计算,先把栈中两个元素弹出,计算后,并把计算结果存入栈中。用栈存储左括号,如果遇到右括号,则先判断栈是否为空,如果为空则false,如果不为空,则弹栈判断是否匹配,如果不匹配则false。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。任意多个连续的斜杠(即,‘//’ 或 ‘///’)都被视为单个斜杠 ‘/’。有效的算符为 ‘+’、‘-’、‘*’ 和 ‘/’。

2024-12-18 10:17:09 667

原创 leetcode区间部分笔记

看看当前元素位置+1的数和当前元素+1的数是不是相同,如果相同则说明是连续的,就让j++即可,如果不连续,判断开头和结尾是不是一样的,如果是一样的,则说明他就是单个,直接放入list,如果不连续,则按规定,加个箭头 i -> j。按行遍历整个数组,第一列取最大值,记录最小重合区间,判断最小重合区间的最大值是否大于等于当前行的最小值,如果大于了则说明该行在最小区间内,则进行最小区间计算,区间最小值取两数最大,区间最大值取两数最小。否则,则说明这个最小区间没办法覆盖这一行区间,则记录一次最小区间,再继续执行。

2024-12-17 21:48:31 995

原创 leetcode哈希表部分笔记

如果当前还没存在重复的key,则把当前遍历的存入map中,一旦有重复的,则需要计算两个重复之间的距离的最小值,也就是map.get(num[i]) - i ,因为需要算一个最小值,所以需要更新map,也就是把当前重复的元素更新到map当中,继续执行,遍历过一遍以后,得出最后结果。其实就是字符串之间的映射,看看后面映射的对不对,首先直接遍历这两个字符串,然后把每个字符的对应关系存在两个hashmap中,如果出现了重复的字符,则需要判断这个字符在两个hashmap中的对应关系,如果有一个不成立则直接报错。

2024-12-17 21:09:03 821

原创 leetcode矩阵部分笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-12-17 17:29:20 676

原创 leetcode滑动窗口部分笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-12-17 16:15:57 469

原创 leecode双指针部分题目

设置l 和 r,一个在最左边,一个在最右边,只要l

2024-12-16 16:13:06 821

原创 Leetcode 数组部分笔记

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。用split分隔,再取最后一个的长度。

2024-12-16 15:13:55 1801

原创 Leetcode 二叉树层序遍历部分笔记

给定一个二叉树的root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。[1,3,4]使用层序遍历 ,每一层记录队列size,每一次遍历到size-1,最后一个节点就是最右侧节点。

2024-12-15 10:12:09 325

原创 Leetcode二叉树部分笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-12-14 17:32:29 1207

原创 Leetcode数学部分笔记

*解题思路:**逆序遍历这个数组,让最后一位加一,再让遍历的这一位和10取余,如果结果不为0,则说明没有进位,直接返回。如果遍历结果为0,则说明有进位,让倒数第二位继续加1,在判断是否有进位。解题思路:二分查找,如果小于等于了,就存一个最大的mid,如果大于等于了,就让r = mid - 1。实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。,5 的因子一定是每隔 5 个数出现一次,也就是下边的样子。遍历一遍以后,如果都有进位,则说明需要扩大一个空间,让第一位为1。

2024-12-10 11:17:27 874

原创 黑马商城微服务复习(6)

对于一些库存有限的商品,为了更好的用户体验,通常都会在用户下单时立刻扣减商品库存。但是这样就存在一个问题,假如用户下单后一直不付款,就会一直占有库存资源,导致其他客户无法正常交易,最终导致商户利益受损!因此,电商中通常的做法就是:对于超过一定时间未支付的订单,应该立刻取消订单并释放占用的库存。例如,订单支付超时时间为30分钟,则我们应该在用户下单后的第30分钟检查订单支付状态,如果发现未支付,应该立刻取消订单,释放库存。

2024-12-09 21:57:14 1474

原创 黑马商城微服务复习(5)

也就是说调用者在调用过程中处于阻塞状态,因此我们称这种调用方式为同步调用,也可以叫同步通讯。不同队列对应不同主题,用bindingkey设置,当消息发送时都会指定一个routingkey,如果这个消息符合某个bindingkey,则发送到指定队列上。如果有两个消费者,因为刚开始消费者处理消息都是轮流处理,但是有的消费者能力强,有的弱,但是仍然是轮流处理,这样会导致效率变慢,因此修改消费者的消费策略。交易服务、通知服务,这些服务代表消费者,都在监听和他们绑定的队列,一旦队列中有消息就读取,执行对应操作。

2024-12-08 17:25:26 1055

原创 Leetcode位运算部分笔记

*解题思路:**如0010,让0010和0001进行与运算,再左移(3-0)位,再与rev进行或操作,得到rev的第一位为0;然后让0010右移一位,得到0001,再与0001进行与运算,得到0001,左移(3-1)位,得到0100,与rev(0000)进行或运算,得到0100,以此类推,直到所有位都遍历一遍。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。颠倒给定的 32 位无符号整数的二进制位。

2024-12-06 22:07:19 306

原创 leetcode堆部分笔记

解题思路:使用桶的思想解决,因为数组是递增的,让数组中的数都加10000,也就是bucket[nums[i]+10000]++,就能得到正常排列的数。nums[i]的值从-10000-10000,也就是桶的大小是20001就可以,最大索引是20000,从20000往下减,第k个大数也就是k为0的情况。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。

2024-12-06 21:37:11 180

原创 黑马商城微服务复习(4)

线程隔离虽然避免了雪崩问题,但故障服务(商品服务)依然会拖慢购物车服务(服务调用方)的接口响应速度。购物车功能出现故障也没法解决。参与分布式事务的每一个微服务都需要集成Seata,我们以trade-service为例。分布式事务无法遵循ACID,所以要保证一致性需要采取措施。将TC服务注册到nacos,好让其他微服务拉取到TC。限制每个业务使用的线程数,减少出现错误的数量。每个微服务数据库都需要一个undo_log表。避免过大并发量,防止服务崩溃。

2024-12-06 13:45:48 751 1

原创 Leetcode二分查找部分笔记

在传递给函数之前,nums 在预先未知的某个下标 k(0

2024-12-04 21:57:24 312

原创 Leetcode 链表部分笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-12-04 21:03:20 1320

原创 黑马商城微服务复习(3)

提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-12-04 16:37:02 1069

原创 黑马商城微服务复习(2)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-12-04 15:17:23 1248

原创 黑马商城笔记

黑马商城复习1。

2024-12-03 19:34:03 517

原创 算法题技巧总结

14. 二维数组排序: Arrays.sort(intervals, (a, b) -> Integer.compare(a[0], b[0]));1.字符串逆置 使用Stringbuilder StringBilder.reverse().toString() 可以将字符串逆置。4. map.put(m,map.getOrDefault(c,0)+1) 权值如果没有值则为0,否则则获取值。

2024-12-03 18:41:18 297

原创 面试经典150题 14/150

【代码】面试经典150题 14/150。

2024-11-25 22:49:43 129

原创 面试经典150题 13/150

/ C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。// s 仅含字符 ('I', 'V', 'X', 'L', 'C', 'D', 'M')// X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。//解释: M = 1000, CM = 900, XC = 90, IV = 4.// I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。//罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

2024-11-25 22:48:52 331

原创 面试经典150题 11/150 除自身以外的数组乘积

/给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。// 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。// 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。//输入: nums = [-1,1,0,-3,3]//输入: nums = [1,2,3,4]//输出: [24,12,8,6]//输出: [0,0,9,0,0]

2024-11-25 22:47:15 207

原创 面试经典150题 10/150 H指数

/ 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且 至少 有 h 篇论文被引用次。// 由于研究者有 3 篇论文每篇 至少 被引用了 3 次,其余两篇论文每篇被引用 不多于 3 次,所以她的 h 指数是 3。//解释:给定数组表示研究者总共有 5 篇论文,每篇论文相应的被引用了 3, 0, 6, 1, 5 次。//输入:citations = [3,0,6,1,5]//输入:citations = [1,3,1]

2024-11-25 22:46:02 347

原创 面试经典150题 9/150

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标。//解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。//解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。// 判断你是否能够到达最后一个下标,如果可以,返回 true;否则,返回 false。//输入:nums = [2,3,1,1,4]//输入:nums = [3,2,1,0,4]//输出:false。

2024-08-02 16:03:07 174 1

原创 面试经典150题 8/150

/解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。//随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。// 在每一天,你可以决定是否购买和/或出售股票。//输入:prices = [7,1,5,3,6,4]//最大总利润为 4 + 3 = 7。// 返回 你能获得的 最大 利润。

2024-08-02 16:02:33 132

原创 面试经典150题 7/150

/解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。// 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。//给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。同时,你不能在买入前卖出股票。//解释:在这种情况下, 没有交易完成, 所以最大利润为 0。//输入:prices = [7,6,4,3,1]//输入:[7,1,5,3,6,4]

2024-08-02 16:01:58 313

原创 面试经典150题 6/150

/输入: nums = [1,2,3,4,5,6,7], k = 3。//输入:nums = [-1,-100,3,99], k = 2。//向右轮转 1 步: [7,1,2,3,4,5,6]//向右轮转 2 步: [6,7,1,2,3,4,5]//向右轮转 3 步: [5,6,7,1,2,3,4]//向右轮转 1 步: [99,-1,-100,3]//向右轮转 2 步: [3,99,-1,-100]//输出: [5,6,7,1,2,3,4]//输出:[3,99,-1,-100]

2024-08-02 16:01:23 128

原创 面试经典150题 5/150

给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。// 你可以假设数组是非空的,并且给定的数组总是存在多数元素。//输入:nums = [3,2,3]

2024-08-02 16:00:50 265

原创 面试经典150题 4/150

解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。输出:5, nums = [1,1,2,2,3]// 在函数里修改输入数组对于调用者是可见的。输入:nums = [1,1,1,2,2,3]

2024-08-02 16:00:19 335

原创 面试经典150题 3/150

/ 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。//给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。//解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。// 长度正确的期望答案。//输入:nums = [0,0,1,1,1,2,2,3,3,4]//输出:5, nums = [0,1,2,3,4]

2024-08-02 15:59:45 357

原创 面试经典150题 2/150

/解释:你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。// 长度正确的预期答案。//解释:你的函数函数应该返回 k = 2, 并且 nums 中的前两个元素均为 2。//输入:nums = [0,1,2,2,3,0,4,2], val = 2。//输出:5, nums = [0,1,4,0,3,_,_,_]//输入:nums = [3,2,2,3], val = 3。//输出:2, nums = [2,2,_,_]// // 它以不等于 val 的值排序。

2024-08-02 15:59:12 657

原创 module ‘d2l.torch‘ has no attribute ‘train_ch3 解决方法

另外win以记事本打开这个torch,搜索load data fashion mnist,把下面的../data改为.//data就完美解决了。先去https://github.com/d2l-ai/d2l-zh/blob/master/d2/torch.py把这个torch包下载。找到miniconda3\Liblsite-packagesid21把里面的torch包替换了就可以了。

2023-11-28 21:22:17 1733 3

空空如也

空空如也

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

TA关注的人

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