- 博客(12)
- 收藏
- 关注
原创 力扣刷题之209长度最小的子数组
我上段代码的思想是双指针的方式从数组的两边向里收缩,先扔掉比较小的元素,剩下的元素越大,最后的子数组的长度也就越小,能过很多测试用例,但存在一个问题是先扔的元素 是否会破坏掉最小子数组中的元素呢 这实际是一个局部贪心,如果出现 3,4,1,1,5 这样的组合 目标值是7 这样会先扔掉最小子数组的 3 4 导致出错。正确的思想用双指针是滑动窗口的思想。
2025-02-27 19:35:49
102
原创 Connection timed out: getsockopt.
Connection timed out: getsockopt. If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle.报错解决。Androidx studio有一年未用,创建新项目后先是报错appcompat无法解析,AppCompatActivity无法解析,网上的方法尝试后未生效,重新下载安装Android studio后解决。
2025-02-24 11:25:58
314
原创 力扣刷题69.x的平方根
代码的思想就是利用二分法不断进行去找,要注意的是判断 mid*mid<x时 要注意是要让 left 往右移动。在之前的文章中详细分析过二分查找跳出循环后left right 的各种情况。最后left位置是大于所找元素的第一个位置 所以-1。上述所说的整数溢出的测试用例 2147395599。该题利用这点 同样可实现查找x的平方根。
2025-02-20 19:50:40
173
原创 二分法查找
我刚开始的做法,最不好的一点是我使用的二分法 在找到第一个目标值之后就退出二分法 之后在该位置的两边进行线性搜索 从而寻找目标元素的起始位置和结束位置 此时在最坏的情况下 就会造成时间复杂度为 O(n) 从而不符合题目要求。以下分析都基于区间的划分方式选择 左闭右闭 时 即[left,right]此时left=right是有意义的 所以需要 <=然后对于插入位置,理解了上述所说的二分法跳出循环后 left 和 right 的所处位置,会发现只要插在 left 的位置就正好。right = -1;
2025-01-19 21:59:10
178
原创 torch not compiled with cuda enabled解決
然后到torch官网下载对应的版本即可如下图所示,运行最后一句命令即可。使用nvidia-smi命令查看cuda所支持的最高版本如下图所示。我的问题是在torch版本和cuda版本不匹配导致。
2025-01-18 22:49:04
181
原创 git clone报错Could not resolve host: github.com
ping github.com 出现找不到主机的问题。最后保存再尝试即可ping通github.com。使用route add 添加路径后无效。格式为IP地址 github.com。解决方案 更改host文件。注意二者之间有个空格。
2025-01-08 16:02:06
188
原创 C++ 指针的通俗解释与使用
指针一个很重要的作用是可以通过形参改变实参,详细看下两个swap 函数进行理解。c++中指针存放的是元素的地址 *可以理解成取内容或者解地址。与之对应的是 &,作用是取地址。
2024-11-02 16:46:41
149
原创 力扣刷题389.找不同
1、最巧妙的一种,把 s 和 t 中的所有字符ASCII码的值分别求和,两个和相减,即得到相差的是哪个字符,也就是 t 中添加的那个。一种错误思想,拿 t 中的字符一个一个和s中的字符匹配,如果没有匹配的,就是 t 中添加的那个字母。4、力扣上运行时间最短的是 将两个字符串 sort 然后比较哪个位置不同则 t 该位置的字符就是所找的字符。t 是 'aa' 拿着 t 中的 两个a 和s中匹配都可以匹配上 故这种情况不行。2、计数,记录每个字符的出现次数,s 和 t 中哪个字符的出现次数不同就是所找的字符。
2024-03-04 00:22:30
204
原创 数据结构学习记录
一个指针在处理到一个字符串结束,另一个字符串未结束的时候,比较麻烦要讨论处理,不过也能实现,双指针用时3ms 一个指针用时10ms。力扣刷题 1768. 交替合并字符串,思想:双指针,两个指针分别指向两个字符串,同时向结果字符串上拼接,各管各的。
2024-03-03 00:17:30
372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人