剑指 Offer 04. 二维数组中的查找(python)二分法 题目描述:先写一个二分查找函数,二分查找函数的返回写成中间数的索引。步骤如下:1、先二分查找第一列(如果有的话),返回第一列小于等于target的索引。2、如果对应值不为target,就开始使用二分法遍历索引值前的每一行(如果有的话)。class Solution: def findNumberIn2DArray(self, matrix: List[List[int]], target: int) -> bool: line_list = [] #判
剑指 Offer 36. 二叉搜索树与双向链表 剑指 Offer 36. 二叉搜索树与双向链表 Python3题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。思路:中序遍历即可class Solution: def treeToDoublyList(self, root: 'Node') -> 'Node': #中序遍历二叉树 sign = 1 if root == None: ret
GRU网络 Dataloader打乱与否会影响测试时的准确率 如题:我是用GRU做多分类模型,在组织数据的时候进行了各种类型的shuffle,训练期间准确率曲线和loss曲线正常,准确率最佳能达到95%左右。验证时与训练集差不多准确率。但是在测试时,test_loader如果选shuffle那么准确率还能看,略低于训练时,当然这也属于正常现象。但是当我实际使用的时候,面对实际数据,无法组织样本进行shuffle,此时准确率低的离谱。目前已经排除了数据和标签不匹配的情况,现在的解决办法是重新训练模型,训练模型时完全不进行shuffle操作,虽然拿到的样本会有些问题
多维数据的归一化 本篇文章包括以下内容:1、数据的升降维度2、多维数据归一化思路3、关于归一化的注意事项1、数据升降维度:首先我的数据集是一个100W*11的样式,我想用神经网络来对我的数据进行训练,个人规定15行数据为一个样本,且去除前两列和最后一列,所以我的一个样本shape应该是(1,15,9)的形式。这就涉及到数据的升维。我的数据以csv形式保存,先读取csvdf_total = pd.read_csv("路径",sep=',',low_memory=False)这样我们得到了一个dataframe
pandas DataFrame 修改时间表示样式并将时间标准化 先看文件中的时间样式:可以看到文件中时间格式没有秒的参与。第一步,读文件:df_total = pd.read_csv("路径",sep=',',low_memory=False)我这里是.csv格式的文件,所以sep是",“号,如果你是tsv就是”\t",如果是excel就是.read_excel()。接着找到你时间列的索引叫什么,我这里是"SJ",如下操作可以将此段时间数据标准化成电脑可以用来做时间计算的格式:df_total['SJ'] = pd.to_datetime(df_tota
深度学习笔记_带python基础(21/4/22更新) 应导师要求参加度娘深度学习培训,对此阶段搞一手个人学习笔记Python基础关于math库的使用:1、向上取整:math.ceil(4.1) --> 52、向下取证:math.floor(4.9) -->43、取绝对值:math.fabs(-10) -->104、取平方根:math.sqrt(9) --> 3.05、取e的x次幂:math.exp(1) -->2.718…关于random库的使用:1、0~1范围实数:random.random()2、带
小程序开发记录_#01学习阶段 小程序主要控制语言:(以及个人对这几项内容的理解).js :用来填充内容.json:感觉有点类似于使用了预定义的东西,往里边填信息就好,就像tableBar一样,是现成的框架。.wxml:编辑页面的大体框架,类似于骨骼,js就是页面的血肉。wxss:给各个内容定样式,简单来说就像是化妆,起美化作用。wxss中各参数的含义:height:就是对象高度。margin-top:与顶部位置距离。opacity:透明度right:距离右边框的长度(left同理)font(相关)-size:文本的各
大数据_insert方法插入列 insert 使用原理是:dftotal.insert(0,'label',0)其中第一个参数是插入位置,第二个参数是插入列名称,第三个参数是插入值。可以结合numpy库的shape[0/1]可以查行数或列数方便在末尾插入。此外,还尝试使用了用reindex方法但是没有效果,方法是:col_name = df.columns.tolist()col_name.insert(1,'D')df.reindex(columns=col_name)原理是重新index,它的前提是需要知道整个d
机器学习_常用库包含的函数功能(持续更新 21.1.6) 机器学习,需要numpy库中的一些函数:1、.shape[ n ]:用于查看矩阵数组的维数。如shape[0]就是看矩阵第一维长度。2、tile( A , rep )函数:用于重复某个数组,如把A重复reps次。
PTA 习题11-8 单链表结点删除 习题11-8 单链表结点删除题目要求:本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode { int data; ListNode *next;};接口:struct ListNode *readlist();struct ListNode *deletem( struct Lis...
PTA 习题8-4 报数 习题8-5 使用函数实现字符串部分复制 习题8-6 删除字符 习题8-4 报数题目要求:报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。接口:void CountOff( int n, int m, int out[] );其中n是初始人数;m是游戏规定的退出位次(保证为小于n的正整数)。函数CountOff将每个人...
PTA 习题3.4 最长连续递增子序列 习题3.4 最长连续递增子序列题目要求:给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。输入格式:输入第1行给出正整数n(≤10^5 );第2行给出n个整数,其间以空格分隔。输出格式:在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空...
PTA 习题2.2 数组循环左移 习题2.2 数组循环左移题目要求:本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由,最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:输入第1行给出正整数n(≤100)和整数m(≥0);第2行给出n个整数,...
PTA 习题3.14 另类堆栈 习题3.14 另类堆栈题目要求:在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。接口:bool Push( Stack S, ElementType X );ElementType Pop( Stack S );如果堆栈已满,Push函数必须输出“Stack Full”并且返回false;如果队列是空的,则Pop函数必须...