- 博客(19)
- 收藏
- 关注
原创 linux下跨文件夹和package的文件调用
1.directory之间互相调用1.1同一文件夹下如:在RNN.py里调用CNNimport CNN1.2不同子级train.py需要调用CNN.py或RNN.py时需要将model文件夹里添加一个空白文件,命名为__init__.pyfrom model import CNN,RNNCNN.py或RNN.py需要引用train.py时无需添加__init__.pyimport syssys.path.append('..') #相对路径import tra
2021-08-01 21:22:45 626
原创 使用python acccmip6包下载CMIP6数据
GitHub链接: https://github.com/TaufiqHassan/acccmip6CMIP数据链接: https://esgf-data.dkrz.de/search/cmip6-dkrz/使用背景:需要在服务器上(Linux系统)下载CMIP6的数据,直接用wget脚本下载不动,卡的要死,遂寻找别的解决方案,看到一篇实用好文,一秒就成功了。具体使用方法:1.安装acccmip6包:pip install acccmip6 (MacOS等别的安装命令见顶部GitHub地址)2.
2021-06-26 20:13:30 3982 1
原创 Tensorboard服务器端结果 在Windows本地打开
参考文章: https://blog.csdn.net/ZHUQIUSHI123/article/details/88238817安装xshell(本文以xshell7为例)参考:https://blog.csdn.net/macex002/article/details/81165660在文件–>当前会话属性–>ssh–>隧道–>添加,类型local,源主机填127.0.0.1(意思是本机),端口设置一个,比如12345,目标主机为服务器,目标端口一般是600
2021-05-27 17:10:56 425
原创 二叉树题型汇总
树easy1.实现二叉树的先序、中序、后序遍历2.二叉树的层序遍历3.求二叉树的深度4.二叉搜索树的第k个节点easy1.实现二叉树的先序、中序、后序遍历题目描述:分别按照二叉树先序,中序和后序打印所有的节点。输入:{1,2,3}返回:[[1,2,3],[2,1,3],[2,3,1]]思路:建立返回vector,vector的0号元素放在左右子树遍历之前,vector1号元素放在左右子树遍历之间,vector2号元素放在左右子树遍历之后代码:class Solution {pu
2021-03-14 19:59:00 233
原创 链表题型汇总
牛客链表题简单:1.判断链表中是否有环2.合并有序链表3.反转链表4.两个链表的第一个公共结点5.判断一个链表是否为回文结构中等6.链表中环的入口7.两个链表生成相加链表8.重排链表困难9.链表中的节点每k个一组翻转10.合并k个已排序的链表简单:1.判断链表中是否有环问题描述:判断给定的链表中是否有环。如果有环则返回true,否则返回false。要求空间复杂度为O(1)。思路:快慢指针,相遇则有环。代码:/** * Definition for singly-linked lis
2021-03-08 21:38:16 160
原创 反转链表m到n区域
题目描述:将一个链表 m 位置到 n 位置之间的区间反转,要求时间复杂度O(n) ,空间复杂度O(1) 。例如:给出的链表为: 1→2→3→4→5→NULL ,m=2,n=4返回: 1→4→3→2→5→NULL注意:给出的m、n满足以下条件:1≤m≤n≤链表长度思路:将链表分为三段,第一段为头到m-1,第二段为m到n,第三段为n+1到尾,先断开一二段,然后对中间的部分进行反转,最后连接一二三段。代码:/** * struct ListNode { * int val;
2021-03-01 17:16:08 1070
转载 单链表反转
看到不错的文章,记录一下:https://www.cnblogs.com/mwl523/p/10749144.html就地反转:思路把当前链表的下一个节点pCur插入到头结点dummy的下一个节点中,就地反转。dummy->1->2->3->4->5的就地反转过程: dummy->2->1->3->4->5 dummy->3->2->1->4->5dummy->4>-3->2-&
2021-02-26 17:18:24 129
原创 RadixSort
马士兵老师的算法课基数排序基数排序算法思想:多关键字排序,按个位十位百位依次排序分配一个0到9的数组count,先从个位排起,把各位按0到9,计数排序;然后排十位…直到排到最高位每次count数组都要归零,一共循环原数组中最大数的位数(如数组里最大是三位数,就循环三次),需要定义一个函数寻找最高位。时间复杂度:O(n*k),k代表了几位数空间复杂度:O(n)寻找最大值的位数:int maxlength(vector<int>& arr) //计算最大值的长
2021-02-25 21:18:40 121
原创 CountSort
马士兵老师的算法课3.计数排序3.计数排序算法思想:使用的限定范围为数据量大但范围小时 开辟两个数组,result负责记录结果,count负责记录每个index出现的个数1.遍历整个数组,得到count计数数组;2.count[i]=count[i-1]+count[i],得到累加数组,目的是记录该index的最后一个的下标;3.从末尾向前遍历原数组,按照累加数组,将对应的数放到result的index-1上代码:class Countsort{public: vector
2021-02-24 20:43:23 102
原创 QuickSort
马士兵老师的算法课2.快速排序2.快速排序算法思想:找一个基准轴(通常是最后一个),比它小的都排在前面,比它大的都排在后面,按左右两个分区,把基准轴放在最后一个比它小的位置的后面,继续找轴,继续排。left从头往后找,right从倒数第二个位置开始往前找,left遇到比pivot小的就++,right遇到比pivot大的就–,如果left<right,left遇到比pivot大的就和right交换。核心partition:int partition(vector<int>
2021-02-24 15:12:49 83
原创 马士兵老师的算法课
排序1.归并排序1.归并排序算法思想:递归合并简称归并merge+核心sort不断地分成两个子数组,i开头和j开头,谁小谁挪下来放进temp数组里,然后把i或j剩余的接到temp结尾。sort部分:void sort(vector<int>& arr,int left,int mid,int right) { vector<int> temp(right-left+1); int i=left,j=mid+1,k=0
2021-02-23 18:01:34 466
原创 剑指offer刷题之——动态规划
动态规划1.连续数组的最大和1.连续数组的最大和题目描述:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n)。思路:典型的动态规划。dp[n]代表以当前元素为截止点的连续子序列的最大和,如果dp[n-1]>0,dp[n]=dp[n]+dp[n-1],因为当前数字加上一个正数一定会变大;如果dp[n-1]<0,dp[n]不变,因为当前数字加上一个负数一定会变小。使用一个变量max记录最大的dp值返回即
2021-02-20 12:18:15 151
原创 剑指offer刷题之——链表
链表1.删除链表中重复的结点1.删除链表中重复的结点题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:非递归:1 . 首先添加一个头节点,以方便碰到第一个,第二个节点就相同的情况2 .设置 p1 ,p2 指针, p1指针指向当前确定不重复的那个节点,而p2指针相当于工作指针,一直往后面搜索。代码:cla
2021-02-08 14:21:41 118
原创 剑指offer刷题之——数组
数组1.斐波那契数列2.旋转数组的最小数字3.数组中出现次数超过一半的数字4.调整数组顺序 使奇数在前,偶数在后1.斐波那契数列题目描述:斐波那契数列公式为:f[n] = f[n-1] + f[n-2], 初始值f[0]=0, f[1]=1,目标求f[n]思路1:普通递归版求法,这种方法通常和汉诺塔一起被放在课本的递归教学部分,应该是面试官不希望看到的算法。int Fibonacci(int n) { if (n==0 || n==1) return n; return Fibo
2021-02-03 15:22:43 167
原创 剑指offer刷题(一)
剑指offer刷题(一)1.用两个栈实现队列2.旋转数组的最小数字1.用两个栈实现队列题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:栈是先进后出,队列是先进先出。定义两个栈,一个栈用来push,另一个栈用来存放第一个栈pop出来的元素,然后pop,就可以实现队列pop的顺序了。代码:class Solution{public: void push(int node) { stack1.push(node); //
2021-01-30 21:11:06 70
原创 pandas常用小知识
pandas常用小知识1.读取、输出csv文件鸢尾花数据集为例2.Dataframedf的index和colomns操作df的各种属性3.select二级目录选择列选择行索引值取值1.读取、输出csv文件鸢尾花数据集为例数据集链接:iris鸢尾花数据集提取码:bpbrimport pandas as pdimport numpy as np# 读取csv文件Iris_dataset = pd.read_csv("D:\\dlaicourse-master\\TensorFlow Deploy
2021-01-29 21:11:52 279
原创 numpy常用小知识
numpy常用小知识1.array基本信息查看及操作查看array元素内容、类型、维度常见的array格式:零矩阵、一矩阵、空矩阵2.array之间的计算加减法乘除法随机数,按行或列求最大最小值sort、转置3. 索引和拼接取值,取行或列,降维数组拼接1.array基本信息查看及操作写在前面:命名py文件时,不要使用python自带的包命名,会出现AttributeError:module ‘numpy’ has no attribute ‘array’。查看array元素内容、类型、维度impor
2021-01-28 23:22:53 182
原创 pkl文件的读取、写入与合并
pkl文件的读取、写入与合并1.pkl文件的读取import pickleinf = pickle.load(open('D:\\projects\\ncData\\weekly_average.pkl',"rb+"))print(inf.keys())#查看pkl文件中的键值print(inf)#读取数据for var in inf.keys(): data3=inf[var][:] print(var,data3.shape) #查看各键值对应的shape
2021-01-24 16:08:42 4940
原创 datetime类型与datetime64制作与转换
datetime类型与datetime64制作与转换datetime类型制作datetime64类型制作datetime和datetime64类型转换datetime类型制作from datetime import datetime, timedeltadates_daily = [datetime(2018, 1, 1) + n * timedelta(days=1) for n in range(575)]#从2018-01-01起按日增加,增加到575天之后停止其中 days=1可以根
2021-01-24 15:19:57 2149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人