- 博客(98)
- 资源 (1)
- 收藏
- 关注
原创 多数元素(简单)
方法:因为题目假设了多数元素一定是存在的,所以可以先把数组排序,然后数组最中间的值肯定就是多数元素,无论数组的个数是奇数还是偶数都符合情况。
2025-04-26 16:35:01
80
原创 删除有序数组中的重复项(简单)
首先,定义临时变量temp,初始化为nums[0]。然后定义快慢指针,最开始都指向数组第2个位置,判断这个位置的元素和temp是否相同,相同就让快指针继续往下走,直到走到快指针当前指向的位置和temp不一样,就把这个值赋给慢指针指向的位置,然后移动慢指针,并且更新temp的值。快指针用来从左往右不断地遍历。慢指针指向当前需要赋值的位置。并且定义一个临时变量用来存储当前快指针指向的数值。
2025-04-26 13:57:00
93
原创 移除元素(简单)
这里不用担心右指针指向的数值如果也是val怎么办,因为把右指针位置的数值拿过来之后,右指针向左移动的操作之后,就会进入下一个while循环,重新判断当前左指针的数字是不是val,如果还是(就是刚刚拿过来的右指针位置的数值还是val),就会把当前右指针的位置的数(右指针相比上次循环已经向左移动了,指向新的数值了)重新拿过来。i指针肯定比j指针走的快或者走的速度一样。判断当前左指针指向的元素,如果不等于val,左指针就向右移动,如果当前元素等于val,就把右指针位置的元素拿过来放在左指针的位置上。
2025-04-26 13:38:02
60
原创 合并两个有序数组(简单)
也就是给出三个指针,分别指向nums1现有元素的末尾、nums2数组的末尾,nums1数组的末尾。然后比较nums1现有元素的末尾元素和nums2数组的末尾元素,哪个大就往nums1数组末尾放。二:nums1还剩一部分数组元素没有比较,这个时候说明nums1数组的没处理完的部分都小,都比刚刚填充到nums1的最后一个元素还要小,已经不用再做任何处理了。最简单的方法,直接把nuns2放在nums1的后面的空白部分,然后借助Arrays.sort库函数对nums1数组进行排序。方法二:从后往前排序。
2025-04-26 12:56:23
39
原创 爬楼梯(每日一题-简单)
因为爬到第n-1阶楼梯之后,再爬1阶就能到,爬第n-2阶楼梯之后,再爬2阶就能到。爬第n阶楼梯的方法数量=爬第n-1阶楼梯的方法数量+爬第n-2阶楼梯的方法数量。本问题可以分解成多个子问题:爬第n阶楼梯的方法数量,等于 2 部分之和。再往下自己算出来4和5的情况(列举),可以发现答案是一个斐波那契数列。题解:n=2的时候,有两种方法,n=3的时候,有三种方法。
2025-04-21 15:42:27
187
原创 跳跃游戏(每日一题-中等)
然后对数组进行遍历,遍历开始的时候,先判断当前这个位置和最远位置谁大,如果最远位置比较大,那么就说明当前这个位置也能达到,就看看再加入当前这个位置的步数能否达到更远的位置,对最远位置进行更新。如果当前位置比较大,就说明到不了目前这个位置,就肯定到不了数组末尾,返回false。题解:定义一个变量,用来存储可以到达的最远位置。
2025-04-21 15:16:12
183
原创 买卖股票的最佳时机(每日一题-简单)
思路:用两个for循环,求解第一天买入之后,可以卖出的最大价格,最后求出这些价格的最大值。最低价格变量可以初始化为prices[0],也就是第一天的价格。最高利润初始化为0;最高利润就是判断第i天卖出股票的利润和之前的最高利润哪个高,就选哪个。最低价格就是判断price[i]和之前的最低价格哪个更小,就选哪个。初始化两个int变量,一个用来存储最低价格,一个用来存储最高利润。在for循环遍历过程中,不断更新最低价格以及最高利润。题解:(自己写了一个暴力法,超时了,但是也记录一下)
2025-04-21 14:00:51
118
原创 最大子数组和(每日一题-中等)
定义dp[i]的含义的时候,要求必须包含元素nums[i],这是因为,如果不包含这个元素的话,在由dp[i]推导dp[i+1]的时候不满足连续子数组的要求,就不连续了。还可以不用定义新数组,因为dp[i]只和dp[i-1]与nums[i]有关,因此可以把原数组nums当作dp数组,不用定义新数组。定义一个动态规划列表dp,dp[i]表示以元素nums[i]为结尾的连续子数组的最大和。上述代码中的res是用来保存答案的,dp数组直接用nums数组来表示的。初始值::dp[0]=nums[0]
2025-04-18 13:07:27
177
原创 盛最多水的容器(每日一题-中等)
是因为:容器的容量是由两个指针之间的间距(宽)乘以两个指针位置的值的最小值(高)来决定的。现在假如左高,右低的情况下,容器容量的高应该由右边来决定,但是我们并不知道右指针向左移动后还有没有高的值,也就是容器容量还有变大的机会。但是如果左高右低的情况下,左往右移动,那么就算左边移动出现了更高的值也没有用,因为右边值更低,高还是这么大,而且宽度变小了。然后判断两个指针哪个位置上面的值更小,就移动哪一个(移动的话,是左指针向右移动,右指针向左移动)初始时,左指针指向最左边,右指针指向最右边。
2025-04-18 12:26:15
128
原创 移动零(每日一题-简单)
给定一个数组,例如[0,1,0,3,12],设置一个指针,指向已经处理完的序列的尾部,初始值为0。用for循环遍历数组,每次检测到非零数,就将这个非零数赋值到已经处理完的序列的尾部。都处理完毕之后,再将数组的后部分(处理好的序列之后)的值都赋为0。两个指针初始值都为0,每次右指针都会向右移动,当右指针指向的数非零的时候,就把左右交换,左指针再向右移动。使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。
2025-04-07 15:58:34
180
原创 汉明距离(每日一题-简单)
Java中有一个内置函数 Integer.bitCount()可以用来计算这个数的二进制位的1的个数,再配合上^,刚好可以算出他俩的汉明距离。题目解析:两个数,他俩的对应的二进制的不同位置的数目,其实就是异或运算,在计算机中用^就可以计算得到。x^y记为s,不断检查s的最低位,如果最低位是1,那么就让计数器加1,然后让s右移一位,直到s=0。
2025-03-28 15:17:05
131
原创 plotly绘图的风格样式template属性
都有啥样的:'plotly', 'ggplot2', 'seaborn', 'simple_white', 'plotly_white', 'plotly_dark', 'presentation', 'xgridoff', 'ygridoff', 'gridon', 'none'以折线图为例,查看plotly绘图的风格样式template属性。
2023-03-17 15:16:39
811
原创 Attempting to use uninitialized value entity_emb_matrix
找了一个tensorflow模型,复现,train的时候没有问题,在把模型保存以后,加载的过程中出现了问题。在restore后面加两行代码就可以啦!
2023-03-15 10:22:21
434
原创 word编辑公式简单方法
在终端输入:pip install pix2tex[gui] -i https://pypi.doubanio.com/simple 就可以安装。点击这个snip就可以截图,截图以后,他会把latex公式的代码显示在下面这个框中,复制。在word中新建一个空白公式,把上面复制的粘贴到这个空白公式中去就可以啦。第一次启动需要下载东西,终端自动下载会比较慢。下载好了以后就可以启动啦。安装好以后,在终端输入pix2tex_gui就可以启动。安装Python包:pix2tex。
2023-03-14 15:45:12
288
原创 tensorflow保存训练好的深度学习模型
中间代码太长了,第一次写到sess.run()前面那个缩进的地方了,报错告诉我sess已经关闭。上面的代码要写到和sess.run()一同缩进的地方,不然会报错。最近在看MKR的算法,复现跑通了以后,把训练好的模型保存下来。
2023-03-09 18:52:11
185
原创 盛最多水的容器
给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i,height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。
2023-01-22 23:45:02
116
原创 寻找两个正序数组的中位数
比如两个数组的长度加起来等于1的时候,或者一个数组的数全都比另一个数组的数小或大的时候。我一开始没有考虑到一个数组的数全都比另一个数组的数小或大的情况,所以编译出错造成数组越界异常了。解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。示例 2:输入:nums1 = [1,2], nums2 = [3,4]示例 1:输入:nums1 = [1,3], nums2 = [2]解释:合并数组 = [1,2,3] ,中位数 2。提示:nums1.length == m。
2023-01-18 18:21:00
964
原创 无重复字符的最长字串
然后往后找,右指针指向b, 不重复,继续,右指针指向c, 不重复,继续。此时子串是abca, 此时应该把左指针移到第一个a的后面,也就是b的位置,此时子串就不重复了,继续,右指针指向b,此时子串是bcab,又重复了,左指针应该指向c。向右遍历字符,如果遍历到的新字符不存在于当前子串中,就把右指针向右滑动,如果有重复了,就从子串中找和他重复的那个字符,把左指针放到找到的这个字符的后面。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。示例 3:输入: s = "pwwkew"
2023-01-18 17:18:02
1237
原创 ERROR: No matching distribution found for numpy==1.22.2
我的虚拟环境用的是python=3.6版本, 升一下python版本,用python=3.9就没问题了。
2022-11-29 01:54:20
4712
1
原创 用anacnda创建虚拟环境用不用指定python版本
首先,在我创建虚拟环境并未指定python版本的情况下,在使用anaconda prompt的命令 conda create -n envs_name(未指定python版本)以后,也就是创建了一个名字为envs_name的虚拟环境以后,在anaconda目录下的envs目录下应该多了一个名字叫envs_name名字的文件夹,里面应该有很多文件,如下图所示。所以我如果不指定python版本,就不知道怎么向pycharm里面添加python解释器。大概可能是我缺什么步骤吧,,还没弄明白,记录下。
2022-11-20 01:19:58
3412
9
原创 计算机保研复习数据结构薄弱知识
看了一个博主写的非常全的数据结构文章,在这里把自己迷惑的,需要加强记忆的知识总结一下参考链接:https://blog.csdn.net/weixin_40113925/article/details/100938378。
2022-09-20 00:12:16
455
原创 计算机方面英语文献翻译(学习记录更新中)
考虑到时间序列数据的高维度和复杂性给数据挖掘带来的困难以及聚类分析在时间序列数据挖掘领域中的重要性,本文总结了国内外时间序列数据聚类的研究现状。时间序列聚类可以被分为全时间序列聚类和子序列聚类。并且可以在特征表示,相似度测量,聚类算法,集群原型和特定应用程序分析方面来研究。根据时间序列存在的主要问题,本文提出了一些在未来值得研究的内容和方向。所有的工作都是为了促进时间序列数据聚类的研究和发展。在万方找的英文文献摘要,自己翻译的。
2022-09-14 13:16:46
1307
原创 图像处理那些算法
1)旋转借助矩阵运算来实现图像的旋转功能2)平移借助矩阵运算来实现图像的旋转功能3)对称借助矩阵运算来实现图像的对称功能水平镜像变换:垂直镜像变换:借助 get (gca, ‘currentPoint’)获取鼠标点击的位置,从而得到鼠标按下和松开的两个位置的坐标。将这两个点的位置提取出来去截取图片。均值滤波消除噪声:均值滤波属于线性滤波,它的实现原理是邻域平均法。实际上就是用取均值的方式替换原图像中的像素值,即选择一个大小为 M 模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,
2022-09-13 19:16:49
15674
8
原创 计算机保研复习
是一种特殊的二叉查找树,最大深度小于最小深度的两倍。顺口溜:根节点必黑,新增是红色,只能黑连黑,不能红连红,爸叔通红就变色,爸红叔黑就旋转,哪边黑往那边转。深度优先:一头扎到底,选择一条支路就不断的深入。广度优先:一层一层的往外探索C/S, P2P。
2022-09-11 21:52:29
2086
原创 springboot项目打包部署到阿里云windows服务器全过程记录
jdk版本和tomcat版本是要对应的,sql也要和自己计算机上的数据库版本是一样的,防止在云端计算机上运行springboot项目时出错。我碰到的问题,基本上多尝试网上说的办法都可以解决。项目名就是打包好的war文件的名字,tomcat启动后会在该目录下生成一个同名文件夹,就是那个名字,例如我的就是blog。在云端计算机上打开navicat,新建一个数据库,记住名字要和自己计算机上的一样,我的数据库名字都是myblog。在上面的密码处输入那会修改的两个密码中的复杂的长密码,也就是实例密码。......
2022-08-30 14:33:12
1388
原创 特殊乘法。。
写个算法,对两个小于1000000000的输入,求特殊乘法的结果。特殊乘法举例:123*45=1*4+1*5+2*4+2*5+3*4+3*5.
2022-08-17 19:01:14
255
原创 成绩排序。。
输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入者排列在前的规则处理。示例:jack 70peter 96tom 70smith 67从高到低 成绩peter 96jack 70tom 70smith 67从低到高 成绩smith 67jack 70tom 70peter 96。...
2022-08-17 16:20:40
105
原创 剩下的数。
有一条长度为整数L的马路,可以将它想象为数轴上长度为L的一条线段,起点是坐标原点,在每个整数坐标点处有一棵树,即在0,1,2,……,L共L+1个位置上有L+1棵树。现在要移走一些树,移走的树的区间用一堆数字表示,如“100 200”表示移走从100到200之间(包括端点)的所有树。可能有M个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的棵树。可能有多组输入数据,对于每组输入数据,输出一个数,表示移走所有区间的树之后剩下的树的棵树。两个整数L和M,接下来有M组整数,每组有一对数字。...
2022-08-17 11:00:38
140
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人