- 博客(57)
- 收藏
- 关注
原创 tsfresh
tsfresh官方文档阅读之后可以快速上手提取时序特征提取加过滤features_filtered_direct = extract_relevant_features(df_timeseries, y, fdr_level = 0.002, column_id='stay_id', column_sort='time')问题1: keyerror (‘stay_id’, ‘y’)df_timeseries是我的时序数据df[‘stay_id’, ‘y’]是另一个表中,我的id和预测值,我
2022-05-08 21:30:28 705 1
原创 SHAP可视化
安装pip install shap我的win10在安装之后出现了一些冲突numpy为1.21.6,但是无法使用,我尝试升级到最新版本之后
2022-04-26 21:52:30 3279 2
原创 python虚拟环境安装
文章目录准备条件问题1问题2创建虚拟环境问题1虚拟环境下装包总结最近写项目和几个同学共用一个服务器,需要python环境,不过当然不能影响其他人啊,所以虚拟环境就派上了用场以下都是基于ubuntu 18,没有问题就直接按步骤走哦,有问题的话再查看小目录,说不定你和我一样不幸中招准备条件先把虚拟环境包安装了pip install virtualenvpip install virtualenvwrapper问题1pip下载包时显示Defaulting to user installation
2022-04-12 21:49:42 1663
原创 ssh连接远程服务器
准备条件首先需要得到一个服务器的ip,名字和密码ip: xxxname: xxxpassword: xxx以下是在win10下进行远程连接普通连接ssh -l <name> <ip>-l就是login的意思第一次连接时会要你添加key,注意这里不要按回车,这样是放弃连接的意思,将会报出Host key verification failed.你需要输入yes, 回车,这样就会把这个host加入list里面啦Warning: Permanently add
2022-04-11 14:01:31 2947
原创 打印二叉树的边界节点
题目链接力扣545牛客162力扣上标的中等,和牛客的有些不同,贴一个牛客的题目描述,牛客也标的中等,额,但我觉得牛客这算困难了题目描述力扣545的解法感觉力扣的描述要更清楚一点搞清楚2点:边界 = 根节点+左边界+叶子边界+右边界根节点 != 叶子边界解法1:三次遍历边界的打印分为根节点+左边界+叶子节点+右边界左边界就是从根节点的左子树往下延伸路径,最左侧叶子除外右边界就是从根节点的右子树往下延伸路径,最右侧叶子除外叶子边界可以通过先序遍历得到所有的叶子注意:右
2022-04-09 11:33:05 382
原创 D27两整数之和
371两整数之和class Solution {public: int getSum(int a, int b) { while(b != 0) { unsigned int carry = unsigned(a&b) << 1; a^=b; b = carry; } return a; }};
2021-09-26 22:38:09 64
原创 D26两个字符串的删除操作
583两个字符串的删除操作关键词字符串 动态规划思路要删除次数最少,那么应该尽可能找到两个字符串的公共部分对于字符串A和字符串B的前i个字符和前j个字符,记录删除次数为dp[i][j]他们是由前面的部分增长过来的,不难看出 dp 随 i, j 的增长而增长如果两个末尾的字符相同,dp[i][j] = dp[i-1][j-1]否则,删除某个末尾字符, dp[i][j] = 1 + min(dp[i-1][j], dp[i][j-1])注意点任何字符串与空字符串匹配,需要全部删除
2021-09-25 21:23:20 107
原创 每日一题DAY25最后一个单词的长度
leetcode 58 最后一个单词的长度关键词:字符串一看这个栏目上一次写已经是四月前了,找完实习就没咋写了,现在实习结束开始补起来吧,虽然一开始是为了找工作刷题,但这么久了,荒废了全忘记了也可惜,就当锻炼思维吧简单题我重拳出击...
2021-09-21 15:09:04 104
原创 练习DAY15
APP运行在操作系统之上,操作系统提供进程管理,内存管理,设备管理等基础性功能为了解决缺页中断这里的传输时间是指磁盘上读取和写入数据的时间DMA是CPU直接和内存通信,绕过了磁盘消息传递是共享内存的,必须在一个主机。当然不能用于CS模型了远程过程调用&方法调用感觉进程调度不当也是会引起死锁,但本质还是资源问题物理页可以在进程间共享,两个进程共使用了1,2,3,4,6,7,9,共7个物理页。故:7*512=3584/ect/passwd用来保存用户的基本信息,而...
2021-07-04 21:02:52 83
原创 错题本DAY14Linux-50
我可真是太菜了 d表示目录directory;l表示连接link。kill pid让进程正常退出kill %job number 直接杀掉进程u表示创建用户.g表示创建用户组-e指定账号的有效期限,缺省表示永久有效。-f指定在密码过期后多少天即关闭该账号-p表示创建密码//-u 用户号 指定用户的用户号;因为系统用户的用户号为0,故指定用户号为0-o选项,重复使用其他用户的标识号;因为系统本身存在用户号为0的系统用户/etc/group是用户组信息文件,里面定义.
2021-05-08 23:34:58 118
原创 TF-IDF mapreduce实现
文章目录TFsetup()函数map()函数combinereducer一些遇到的问题TFsetup()函数获取每个文件所属的作品名map()函数输出key: word:worknameval: 1hadoop的context.write,必须保证有值写入,不能是null,如果是null会让map输出和reduce的输入不匹配而造成程序运行错误。 public static class TFMapper extends Mapper<Object, Text, Text, Te
2021-05-04 01:41:15 585
原创 每日一题DAY24砖墙
砖墙一开始看图被吓到了,但是,一切困难都是纸老虎!正难则反,穿过的难算,就算没穿过的从上往下最多穿过n块砖块,要尽可能多的从边缘走过;记录某条线被作为边缘的次数设有m个元素,时空复杂度都是mclass Solution {public: int leastBricks(vector<vector<int>>& wall) { unordered_map<int,int>mp; int n = wall.si
2021-05-03 13:09:13 84
原创 每日一题DAY23员工的重要性
员工的重要性这是一道简单题,很明显的dfs或者其他树搜索方式;然而我还在纠结怎么建树,其实根本不用显示建立,用哈希表记录id和对应的指针,就能遍历到了感觉应该是五分钟写出的题,不应该迟疑的时空复杂度都是O(n)class Solution { void dfs(Employee* root,int&res,unordered_map<int,Employee*>& mp){ if (root == nullptr) re
2021-05-02 19:16:23 72
原创 每日一题DAY22只出现一次的数字2
只出现一次的数字2最开始用的是计数排序,当然这是最基础写法,时空都是O(n),也没有用到题目的条件。一个进阶写法是利用位运算;其他数都出现了三次,所以二进制位相加都是3的倍数;答案的二进制位是模3的余数(0,1)时间nlogC,C = INT_MAX,最多32n(也就是遍历每个二进制位);空间O(1)门电路的写法我觉得有些复杂,虽然学过数字电路设计,但觉得没那个必要,就没看了class Solution {public: int singleNumber(vector<int&
2021-05-01 19:39:52 74
原创 每日一题DAY21青蛙过河
青蛙过河 一开始就没啥想法,没有头绪读题是明显的跳跃有递推关系,但是不仅仅是由前一个两个状态推动态规划,假设跳了k个位置到i,那么上一步是从j = i - k跳过来的,回退,是跳了k-1/k/k+1步到的j所以dp[i][k] = dp[j][k-1]||dp[j][k]||dp[k+1]如何确定最初的true值? 注意到第一次只能跳一步,那么上一步相当于0步 dp[0][0] = true每次跳跃步长最多+1,n块石子,最多跳n-1次,最长n-1步class Solution {publ
2021-04-30 17:59:20 141 1
原创 每日一题DAY20平方数之和
平方数之和一道水水的中等题,五分钟吧//左右两端,双指针和改成双指针平方和//优化左右边界,右边界不会超过开平方//注意超int范围class Solution {public: bool judgeSquareSum(int c) { int left = 0,right = sqrt(c) + 1; while( left <= right ){ long long int sum = (long long )left*
2021-04-28 23:07:02 100
原创 每日一题DAY19在D天内送达包裹的能力
在D天内送达包裹的能力 这是道中等题,如果一下子就想到的还是很快的(20min内完成)。我一开始用dp,结果RE了,调了半天,最后一看思路就不对。总之就是如果某道没见过的题,第一反应是回溯,思考能不能用dp; 如果想到的是dp,尤其是要用好几维的,就想想其他方法。dp本质是暴力,空间也大,实在不行再dp 本题关键词:二分搜索,贪心首先,货物是连续装运,那么要天数最少,肯定是装到装不下为止再发送出去。x表示运载能力,如果x能运完,比x大的就更能运完;所以可以二分找x二分的边界:至少是最轻的包裹;
2021-04-27 17:19:02 100
原创 错题集DAY13
文章目录操作系统/Linux 9min30s 60'数据库 5min46s 70'计组&网络 8min 45'操作系统/Linux 9min30s 60’逻辑地址是按字节分的,512=2^9,也就是0x0457的后9位是页内地址,前7位为0000 010,也就是在第2页,对应物理页是4这是分页存储里面的知识,上面的结构是分页存储管理的逻辑地址结构,page number为页号,offset为页内偏移量。上面的图片中的数字标注错位了。0和9应该标记offset的(即:在offset
2021-04-25 16:57:30 91
原创 每日一题DAY18递归顺序增长树
递归顺序增长树这是一道简单题,五分钟就应该有思路,十分钟之内写完,不过有一个小小的坑;关键词:dfs-中序//中序遍历下有序,遍历到当前节点时把它挂到上一个的右孩子class Solution { TreeNode* pre; TreeNode* res; void inOrder(TreeNode* root){ if (root == nullptr) return; inOrder(root->left)
2021-04-25 15:07:21 82
原创 每日一题DAY17组合总和IV
组合总和IV关键词: 动态规划 一般题 :不同整数,没有负数注意题目每个数可以用无数次,不同顺序是不同的组合动态规划 如果有数x, dp[i] += dp[i-x]class Solution {public: int combinationSum4(vector<int>& nums, int target) { int n = nums.size(); vector<int> dp(target+1,0);
2021-04-24 13:47:53 84
原创 错题集DAY12
文章目录C/C++ 18min 70分 20题算法 11min33s 55分 20题数据库 7min 60分 20题数据结构 16min47s 80分 20题操作系统 6min 65分 20题网络基础,编程基础 6min25s 55分 20题C/C++ 18min 70分 20题这都能选错,眼睛不知道在看什么…数组指针和指针数组,从右往左看,首先是p[3]是一个长度为3的数组,然后加上*,是一个长度为3的指针数组,最后加上int表示指针是int型的。 还有一种情况int (*p)[3] 这个
2021-04-21 00:30:05 214
原创 每日一题DAY15实现strstr()
实现strstr()文章目录暴力匹配暴力匹配暴力匹配很容易想到,时间复杂度是(N-L)LN,L分别是str和pattern的长度class Solution {public: int strStr(string haystack, string needle) { int m = haystack.size(); int n = needle.size(); if(n == 0) return 0;
2021-04-20 16:56:27 69
原创 每日一题DAY14恢复二叉搜索树
恢复二叉搜索树难度:hard 本次用时:20min关键词:树,中序遍历二叉搜索树中序遍历下有序,O(n)的话是遍历然后交换一个逆序对从左到右是升序,第一个违反的数;从右往左降序,第一个违反的数(从交换来看就很容易理解)时空复杂度都是O(n)如何优化到常数空间?左端数可以通过记录pre来获取,第一次pre>cur,记住这个pre, 获取右端,从右往左看,也就是cur < pre的数,记住更新到最后的值class Solution { TreeNode* pre;
2021-04-19 23:47:25 67
原创 错题集DAY11数据结构
时间:14min06s 题量:20 分数:80 按行序存储,i>=j,即存储下三角1+2+3+…+ 7 = 87/2 = 2828 + 5 = 33;也就是1+…+(i-1)+ j = i(i-1)/2 + j使用除留余数法的一个经验是,若散列表表长为m,通常p为小于或等于表长(最好接近m)的最大质数或质因子都>=20的合数。筛选法就是开始按现有的顺序从上到下,从左到右放到一个完全二叉树里面。然后把这个树调节成堆。调节的时候从最后一个有儿子的节点开始。 也就是从
2021-04-19 22:48:21 73
原创 错题集DAY10Linux,操作系统
时间:12min 题量:20 分数:55通道指令是用来执行I/O操作的指令,而一般指令是大众CPU指令。suspend,使线程暂停,但是不会释放类似锁这样的资源。resume,使线程恢复,如果之前没有使用suspend暂停线程,则不起作用同一进程内的线程切换不会引起进程的切换,不同进程内线程的切换是会引起进程的切换的。请求访问外部设备 是进入阻塞状态终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时,希望暂停使自己的程序静止下来,使正在执行的进程暂停执行;若此时用户进.
2021-04-18 20:55:17 100
原创 每日一题DAY13
删除有序数组中的重复项简单题最好五分钟写完吧原地修改,可以拿后一个元素与前一个保留的元素比较看是否相等快慢指针,first前是扫描过的,slow前是保留的时间复杂度:O(n)空间复杂度:O(1)class Solution {public: int removeDuplicates(vector<int>& nums) { if (nums.size() <= 1) return nums.size();
2021-04-18 18:22:47 56
原创 每日一题DAY12前缀树
前缀树关键词:字典树查单词的过程就像查字典,按字母往下寻找,所以这是一棵26叉树因为要查询单词是否存在,所以要标记每个位置是否是单词定义一个空的root作为根,将所有的连成一棵树而不是使用26棵树按字母一个一个往下遍历insert时如果没有就创建节点class TrieNode{public: bool isword = false; vector<TrieNode*> children; TrieNode ():isword(false),childre
2021-04-15 00:32:11 111
原创 每日一题DAY11二叉搜索树最小距离
二叉搜索树最小距离关键词:bst 中序遍历利用二叉搜索树中序遍历下有序的特性,计算相邻两个数的差值细节:开头第一个节点不用计算,用begin来标记是否是开头节点class Solution {private: int pre; int res; bool begin; void inorder(TreeNode* root){ if (root == nullptr) return; inorder(root-
2021-04-13 23:30:09 65
原创 每日一题DAY10最大数
最大数关键词:排序最后组成的总位数保持不变;贪心,把数字大的放在前面出现 5,6,63怎么办,6 优先于63排列,6 69呢 ,这相当于拼接比较了,6+63,和63+6比大小 如果算出来全是0,结果就是0,不要返回0…0比较那里不要写>=,写>的话可以利用传递性时间复杂度分析:排序nlogn; 数字最大为m,长度为logm,拼接复杂度 O(logm),总共nlognlogmclass Solution {public: string largestNumber(vec
2021-04-13 00:08:43 80
原创 hadoop环境配置(单机伪分布) &WordCount测试&踩坑体验
配置文件可以在hadoop2.7.1/etc/hadoop目录下找到core-site.xml 配置如下: 主要完成NameNode的ip和端口设置 <configuration> <!-- 用来指定使用hadoop时产生文件的存放目录 --> <property> <name>hadoop.tmp.dir</name> <value>file:/home/njucs/class3_spring/b
2021-04-10 17:26:58 1044
原创 错题集DAY9-数组,字符串
时间:10min, 题量:20 分数:70 数组a比数组b大很多,可能跨更多的页,缺页率高或者缓存命中更低,所以pb快.同等情况下,小循环放外面,大循环放里面,以减少CPU跨切循环层的次数 特殊矩阵中元素有规律,偏移量etc,而像稀疏矩阵中元素没有规律,所以一般采用三元组(两元存位置,一元存大小)或者伪地址表示法 是按列存储!!!这道题真是666p1和p2都指向常量字符串,在常量区,所以不能对其进行操作;改为数组即可,但是用字符串初始化数组时要记得将数组长度加1,因为字符串默认..
2021-04-10 00:03:17 77
原创 每日一题DAY9 寻找旋转数组最小值2
寻找旋转排序数组的最小值2关键词:二分搜索//大前提不会变的切一刀至少一边有序// k … mid… max 0 … k-1 S1// k … max 0… mid … k-1 S2//nums[k] > nums[mid]和<nums[mid]可容易得到是S1还是S2//nums[k] = nums[mid]是不好判断是S1还是S2 ,注意到在S2下,一定还有=nums[k-1],可以用这个条件排除S2class Solution {public: int findM
2021-04-09 23:27:09 61
原创 每日一题DAY8寻找旋转排序数组最小值
寻找旋转排序数组最小值关键词:二分搜索//升序的话做旋转数组,划一刀两边至少一边有序//左边有序,排列为k…mid…max 0 …k-1,//右边有序,排序为k …max 0 … mid … k-1 (注意mid = 0)//注意left可能=mid,right一定>mid,为避免=时的情况考虑是否漏掉mid,改用right判断class Solution {public: int findMin(vector<int>& nums) { i
2021-04-08 23:39:17 82
原创 错题整理DAY8-操作系统,LINUX
时间:10min31s 题量:20 分数:65AGP(Accelerated Graphics Port)是针对计算机绘图所设计的插槽,此接口使用计算机的RAM来更新图像,以达到3-D显示的需要。通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。静止就绪:这个也叫做挂起就绪,是指进程被对换到辅存时的就绪状态,是不能被直接调度的状
2021-04-07 23:25:32 84
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人