- 博客(77)
- 收藏
- 关注
原创 python文件结构
这个时候需要把export PYTHONPATH="$PYTHONPATH:./src/audiocraft"也就是默认是在工作目录里面去找,但是有人会git clone下来别人的仓库,这种相对位置可能失效。import 模块的时候,是因为PYTHONPATH=.这样子设置才能import成功模块。
2024-10-23 15:42:51 100
原创 数据集大文件传输
尝试了google drive 百度云盘,都不好用,邮件传输有附件大小限制,对于动不动几十g的数据集来说,还是使用scp命令在两个服务器之间传输。
2024-10-23 15:37:00 84
原创 JZ12 矩阵中的路径
例如 \begin{bmatrix} a & b & c &e \\ s & f & c & s \\ a & d & e& e\\ \end{bmatrix}\quad⎣⎡asabfdcceese⎦⎤ 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。数据范围:0 \le n,m \le 20\0≤n,m≤20 ,1\le len \le 25\1≤len≤25。
2022-09-21 18:28:30 239
原创 java的函数参数传递
对于string也是采用值传递(string比较最好使用equals,比较的是字符串的值,==比较的是引用的地址)对于基本类型的数组而言,传递的是首地址,所以在函数里面修改值也会改变原来的值。对于对象而言传递的是引用,所以也是会改变值。对于基本数据类型 是采用值传递。
2022-09-21 17:34:35 353
原创 JZ46 把数字翻译成字符串
1. 最好一开始有个预留的比如do【0】是没有意义的表示初值为1,这样比较好,因为递推有i-2所以必须两个初值,如果计算两个有意义的话,很难。在该字符和前一个字符为11-19和21-26的时候dp[i]=dp[i-1]+dp[i-2],其他时候为dp【i-2】2.考虑清楚0的作用有的时候由于0导致整个无意义,而且10和20只有一种可能这两点需要注意。有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。进阶:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)
2022-09-21 16:14:23 249
原创 JZ48 最长不含重复字符的子字符串
以i结尾的情况下,递推的话不好搞因为当发生重复的时候,其实不是变成单一字符了,而是在之前还有一部分是连续不重复字符,我们需要找到之前的重复字符的位置,然后在得到新的dp【i】。于是想到了双指针,一遍遍历,一遍保存一个不重复的hashset,接着直到重复了,我们就向前一直遍历直到找到重复元素,之前的都删除,dp就是两个指针的差值。尝试了两种方向,一个是dp[i]表示以第i个字符结尾的最长子字符串,一个是表示前i个最长子字符串。请注意,你的答案必须是子串的长度,"pwke" 是一个子序列,不是子串。
2022-09-20 19:39:03 258
原创 JZ47 礼物的最大价值
在一个m\times nm×n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?那么路径 1→3→5→2→1 可以拿到最多价值的礼物,价值为12。如输入这样的一个二维数组,动态规划,找到递归式子。
2022-09-20 18:42:28 88
原创 JZ63 买卖股票的最好时机(一)
在第3天(股票价格 = 2)的时候买入,在第6天(股票价格 = 7)的时候卖出,最大利润 = 7-2 = 5 ,不能选择在第2天买入,第3天卖出,这样就亏损7了;假设你有一个数组prices,长度为n,其中prices[i]是股票在第i天的价格,请根据这个价格数组,返回买卖股票能获得的最大收益。1.你可以买入一次股票和卖出一次股票,并非每天都可以买入或卖出一次,总共只能买入和卖出一次,且买入必须在卖出的前面的某一天。要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)
2022-09-20 17:59:06 104
原创 JZ70 矩形覆盖
我们可以用 2*1 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 2*1 的小矩形无重叠地覆盖一个 2*n 的大矩形,从同一个方向看总共有多少种不同的方法?进阶:空间复杂度 O(1)\O(1) ,时间复杂度 O(n)\O(n)数据范围:0 \le n \le 38 \0≤n≤38。注意:约定 n == 0 时,输出 0。
2022-09-20 16:11:01 91
原创 JZ19 正则表达式匹配
3. 最后一个难点,计算,因为计算必须有初始值才行,我们先初始化一些东西,但是这里又来一个问题,那就是i=0的时候很难初始化,这里我们又需要得出一个递推公式,先把这一行计算出来,然后在递推。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配。2.pattern 只包含从 a-z 的小写字母以及字符 . 和 *,无连续的 '*'。中间的*可以出现任意次的a,所以可以出现1次a,能匹配上。2.模式中的字符'*'表示它前面的字符可以出现任意次(包含0次)。
2022-09-20 15:52:44 220
原创 JZ42 连续子数组的最大和
输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,子数组最小长度为1。求所有子数组的和的最大值。经分析可知,输入数组的子数组[3,10,-4,7,2]可以求得最大和为18。动态规划,每一个dp[i]表示的是以array【i】结尾的最大子数组的和。要求:时间复杂度为 O(n)O(n),空间复杂度为 O(n)O(n)进阶:时间复杂度为 O(n)O(n),空间复杂度为 O(1)O(1)最后我们减少空间复杂度,用temp简化。递推公式就是如代码所示。
2022-09-16 13:56:27 128
原创 JZ85 连续子数组的最大和(二)
经分析可知,最大子数组的和为4,有[4],[4,-1,1],[1,2,-3,4],[1,2,-3,4,-1,1],故返回其中长度最长的[1,2,-3,4,-1,1]1.子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组。经分析可知,输入数组的子数组[3,10,-4,7,2]可以求得最大和为18,故返回[3,10,-4,7,2]3.该题定义的子数组的最小长度为1,不存在为空的子数组,即不存在[]是某个数组的子数组。
2022-09-16 13:53:42 103
原创 JZ44 数字序列中某一位的数字
数字以 0123456789101112131415... 的格式作为一个字符序列,在这个序列中第 2 位()是 2 ,第 10 位是 1 ,第 13 位是 1 ,以此类题,请你输出第 n 位对应的数字。数据范围: 0 \le n \le 10^9 \0≤n≤109。
2022-09-13 17:14:49 114
原创 JZ38 字符串的排列
互异性:假设两个不一样的path导致一样的str,是不可能的,因为每一个char在之后都不可能再对他进行改变,每次都是char《--》char+1,char+2,char+3.....size 接着就是char+1开头了,这样的话不可能再后面的时候又把char位置的字符变为和另一个一样的,所以他们不一样,而一共就只有n的阶乘个不一样的,所以结论正确。1.java的函数参数都是传值的,但是string类型也是放入堆栈的,其他的对象都是传值放入的引用。3. string的length()函数查看长度,
2022-09-13 16:23:19 186
原创 JZ11 旋转数组的最小数字
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。2. 为什么选择右边的边界!第一:两个数字的时候可行 第二:没有旋转的时候可行,第三:重复多个数字的时候ok。1.二分查找的while循环内部判断的时候的等于号是决定了只有两个数字的时候,该选择哪一个数字。要求:空间复杂度:O(1)O(1) ,时间复杂度:O(logn)O(logn)
2022-09-13 14:58:16 113
原创 JZ4 二维数组中的查找
在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。数据范围:矩阵的长宽满足 0 \le n,m \le 5000≤n,m≤500 , 矩阵中的值满足 0 \le val \le 10^90≤val≤109。这个成立是因为,右移之后,原本元素的上面所有元素就永远不可能被搜索到了,因为没有左移操作,而那些元素必定小于target。进阶:空间复杂度 O(1)O(1) ,时间复杂度 O(n+m)O(n+m)不存在3,返回false。
2022-09-11 11:43:54 155
原创 JZ53 数字在升序数组中出现的次数
1.把原始的问题分类为二分查找的问题-》找到重复数组的左右边界相减得到重复的数量。这里需要注意的有while循环里面l r的关系。2. 学习二分查找的模板,模板如博文所言。(建议使用题目的样例去试一试)
2022-09-11 10:32:12 123
原创 JZ30 包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。输入: ["PSH-1","PSH2","MIN","TOP","POP","PSH1","TOP","MIN"]"POP"表示弹出栈顶元素,弹出2,栈中元素为-1。"PSH-1"表示将-1压入栈中,栈中元素为-1。"PSH2"表示将2压入栈中,栈中元素为2,-1。"PSH1"表示将1压入栈中,栈中元素为1,-1。输出: -1,2,1,-1。
2022-08-21 18:08:05 75
原创 stack的使用基本方法
使用栈的算法里面,有一些使用的是双栈法,使用两个栈,辅助进行计算。s.push()//压入栈顶的元素。s.pop()//删除栈顶的元素。
2022-08-21 18:00:46 167
原创 如何使用c++的vs studio来查看程序之中变量的内存地址和对应地址的值
如何使用c++的vs studio来查看程序之中变量的内存地址和对应地址的值
2022-07-26 15:50:49 5026
原创 bitset在c++之中对于需要按位操作的情况很好用
一、bitset是什么bitset是c++中的一个类库,来管理一系列bit位,及二进制串。类似于数组,但每个元素只能是0或1且仅用1bit的空间包含于头文件#include < bitset >;中二、使用方法1、定义申明:1.bitset<4> a; //申请一个名为a长度为4的bitset,默认每位为02.bitset<8> b(12); //长度为8,将12二进制保存在b中,前面位补03.string s = "10010"; bitset<.
2022-05-29 05:19:34 1125
原创 anaconda指令
1.查看anaconda下安装的包:conda list12.在anaconda中安装包:conda install package13.anaconda中创建虚拟环境:conda create -n 环境名 python=版本号14.进入创建的虚拟环境:activate 环境名15.在环境中的指令操作一般是用pip,有时需要更新pip的版本。更新语句为(在进入环境之后只能用这条语句来更新):python -m pip install --upgrade pip1..
2022-05-24 16:06:17 198
原创 enumerate()
enumerate()用于一个可以遍历的数据,给出他的下表和数据的二元组for i, data in enumerate(trainloader, 0),第二个参数的意思是启始的下标
2022-04-29 14:04:35 211
原创 idea若依框架mapper报错
元素类型为 “mapper” 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select)面对这个报错,原因就是因为我们的mapper。xml文件里面有了符号的不一样,比如,我们多加了一个括号,多加了注释等...
2022-03-20 21:24:01 1432
原创 怎么添加jar包
点击项目的project strcuture然后我们在library里面导入jar包jar包在百度搜索maven search找第一个搜索下载jar包
2022-03-20 20:41:50 822
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人