- 博客(160)
- 收藏
- 关注
原创 概念集合(可能有误)
在机器学习领域,掩码(Mask)是一种用于指示数据中特定位置或特征的有效性或重要性的技术。在处理序列数据(如文本、音频、视频)时,掩码被用于标识序列中的填充部分或无效部分。填充通常是为了使序列具有相同的长度,以便进行批处理和并行计算。通过使用掩码,可以告知模型忽略填充部分的输入,以避免对无效数据进行不必要的处理,从而提高计算效率。掩码通常以二进制形式表示,其中有效位置用1表示,无效或填充位置用0表示。在序列数据中,掩码与输入数据具有相同的维度,并与输入数据一起传递给模型。
2023-06-05 21:52:11 459
原创 数据挖掘实战(以kaggle为例)
第一课主要分为以下内容进行讲述机器学习工业应用领域机器学习常用算法机器学习常用工具解决问题流程数据的处理比模型更为重要老师的博客,内容很详细数据预处理有时候可以一个feature一个feature去做特征工程模型选择模型状态评估模型融合Bagging是一种集成学习(Ensemble Learning)的技术,全称为“Bootstrap Aggregating”。它是通过构建多个相互独立的基本模型(通常是决策树或其他分类器),然后通过对基本模型的预测结果
2023-05-29 17:01:13 2354
原创 数据分析学习
tableau可以做数据可视化,但可视化只是tableau的基操,数据赋能和数据探索才是tableau的正确打开方式数据赋能:让业务一线也可以轻松使用最新数据数据探索:通过统计分析和数据可视化,从数据发现问题,用数据验证假设。
2023-05-24 15:20:58 554
原创 930. 和相同的二元子数组
前缀和方式的代码,时间复杂度为o(n**2)是无法通过测试用例的def fun1(nums,goal): count=0 dp=[0] #0~n-1 for i in nums: dp.append(dp[-1]+i) for i in range(1,len(dp)): for j in range(i,len(dp)): #左闭右闭形式 if dp[j]-dp[i-1]==goal:
2022-05-31 11:24:01 80
原创 187. 重复的DNA序列
方法一: 本来想要使用前缀和的方法,将ACGT与数字进行映射 然后不断向右移动,因长度固定为10,则可得和相同即为相同子序列 痛点: AAAAACCCCC==CCCCCAAAAA 但其不为相同子序列 AAAAACCCCCGCCCCCAAAAA(经过了fun2()检验)def fun1(s): dic={"A":1,"C":2,"G":3,"T":4} #因为长度固定???,不对这样不对,因为内部是打乱的 pass使用滑动窗口+哈希表的方法 对于每个字符串
2022-05-31 09:23:22 136
原创 51. N 皇后
这个题目我是暴力做的不断地深度优先递归这里有个很重要的化简,就是用一个数组nums长度为n这样的话nums[i]对应的元素j 就是坐标(i,j)'''N皇后问题是指在N*N的棋盘上要摆N个皇后,要求任何两个皇后不同行、不同列,也不在同一条斜线上。给定一个整数n,返回n皇后的摆法有多少种。n=1,返回1。n=2或3,2皇后和3皇后问题无论怎么摆都不行,返回0。n=8,返回92。'''''' 基本思路,进行名义上的深度优先遍历 假设任意一个红皇后,都只能在某一行(不考虑皇
2022-02-07 23:08:21 178
原创 4. 寻找两个正序数组的中位数
import heapqimport random''' 如果比赛的时候要使用堆 自己写肯定不现实 当然是要那人家的用 但是python自带的没有大根堆 所以这里就用负数使用小根堆'''''' 首先这种写法很快很快,大概是o(logn)级别的 基本思路: 如果说将一组数据(不包含负数)对半分 一半是小的,一半是大的 小的不管里面是怎么弄得,最大的可以拿到 大的不管里面是怎么弄得,
2022-02-07 23:02:51 89
原创 435. 无重叠区间
贪心算法一定要写比较器import randomdef fun1(intervals): '''贪心策略的题目 我是这样贪心的移除最少,就是选择最多,且不重叠 将其按照末尾结束时间排序 这样每次进行选择之后,剩下的空间最多 ''' '''1.先排好序''' if intervals==[]: return 0 intervals.sort(key=paixu) result=0 poi
2022-01-28 22:30:02 265
原创 图的深度优先遍历
''' 深度优先遍历 首先遍历结果显然不唯一'''class Node(): def __init__(self,value): self.value=value #对应数据 self.enter=0 #该节点的入度 self.out=0 #该节点的出度 self.nexts=[] #由该点发散出去的边(出去的边),直接相连的点 self.edges=[] #由该点发
2022-01-23 15:39:33 312
原创 图的宽度优先遍历
''' 首先假设该图为连通图 没有入度为0的节点,或者从入度为0的节点出发 为了避免重复走路(因为图是可以乱串的,不像树一样直直的往下走) 需要创建一个set,用来记录已经走过的节点'''class Node(): def __init__(self,value): self.value=value #对应数据 self.enter=0 #该节点的入度 self.out=0 #该节点的出度
2022-01-23 15:38:23 665
原创 图的定义方式
图的定义class Node(): def __init__(self,value): self.value=value #对应数据 self.enter=0 #该节点的入度 self.out=0 #该节点的出度 self.nexts=[] #由该点发散出去的边(出去的边),直接相连的点 self.edges=[] #由该点发散出去的边 '''
2022-01-23 14:05:40 149
原创 折痕问题(中序遍历)
题目重点是找到对应的规律,逻辑''' 这个题目并没有在LeetCode上面找到 它相当于是一种面试题目,首先我们要找到其中蕴含的规律(对折方式是对着自己对折) 第一次: 凹 第二次: 凹 凹 凸 第三次:凹 凹 凸 凹 凹 凸 凸 第四次:....'''''' 你可以看到他就是一个二叉树,中序遍历的结果 左节点一定为凹 右节点一定为凸 我如果不嫌麻烦,或者说没有很好思路的化,可以实际的创造一个二叉树,然后再进行中序遍
2022-01-22 23:49:46 281
原创 510.二叉搜索树的中序后继2
''' 这个题目在LeetCode上是一道会员题目 所以这里就大致写一下思路和代码 了解后继节点的含义:一个节点的后继节点是指在中序遍历中,该节点的下一个节点 如遍历结果为ABCD 那么C的后继节点为D o(n)算法 基本思路: 假设节点为o1 其对于的后继节点为o2 通过中序遍历,在遍历过程中将所有结果入字典,每次进行查找(o2)如果在该次查找中找到了o1那么o2就是其后继节点 o(k)算法 基本思路:
2022-01-22 23:30:18 383
原创 297. 二叉树的序列化与反序列化
这个咋一看是很吓人的,什么序列化,反序列化.其核心就是转化成一种数据类型(如字符串,列表等)并且可以唯一标识当前树这里我才用的序列化方法是纯先序遍历,通过_来进行元素的分割重点是反序列化,他的思想也是递归,这是显而易见的,因为我所需要的数据不包括_所以先对其进行删除,然后先填充左子树,在遇到#时结束再填充右子树,再回到父节点填充其右子树理清楚之后,写代码就好写了''' 这个题目标注的是一个困难题 我听他的讲了一下,发现他的思路并不是很难 可以只通过先序,中序,后序,以
2022-01-22 23:10:55 79
原创 236. 二叉树的最近公共祖先
二叉树的最近公共祖先思路总结: 这个题目的思路很好,不是我常见的想法 他是什么,找到两个节点最近公共祖先 在最近的公共祖先后面的所有都是他的祖先 怎么想的:一个节点只会有一个父节点,两个节点可能是这个样子的 0->0->0->0 也可能是这样的 0->0->0->0 分叉了 | ^ 0 所以就是把所有节点的父节点通过字典记录,然后将p从下往上进行遍历 找到对应的一条线 然后再遍历q,每次进行一个查找 .
2022-01-21 21:32:17 180
原创 剑指 Offer 55 - II. 平衡二叉树
树状dp自底向上的递归''' 平衡二叉树的定义 1.对于任意节点,左子树是平衡二叉树或空树 2.对于任意节点,右子树是平衡二叉树或空树 3.对于任意节点,左右子树高度差小于1 那么不是平衡二叉树也很好判断了 对于任意节点三个条件有一个不满足则不是平衡二叉树 那么我需要什么条件,是否为平衡二叉树,以及对应的高度'''def main1(root): bo=fun1(root)[0] return
2022-01-14 11:54:47 151
原创 958. 二叉树的完全性检验
#这个代码无法通过,我觉得我写复杂了,所以这个代码不要再修修补补了#直接换个思路def fun1(root): ''' 验证是否为完全二叉树 完全二叉树的定义: 除最后一层外,每一层一定都是满的 最后一层若不满,则为是从左往右依次排列 那么第一想法很简单,不能是深度优先遍历,应该是宽度优先遍历 每一层每一层的遍历,那么不满足什么规则就不是完全二叉树了 1.一个节点只.
2022-01-14 11:49:53 163
原创 98. 验证二叉搜索树
递归的中序遍历,动态的进行比较class lei(): def __init__(self): self.prevalue=-float('inf') #负无穷 def fun1(self,root):#递归形式的中序遍历 if root==None: #基本结束条件 return True #说明是正常结束 bool1=self.fun1(root.left) #看左子树是否为正常的 if n
2022-01-14 08:46:04 130
原创 102. 二叉树的层序遍历
平平无奇根据队列来def fun1(root): ''' 这个是利用队列来确定 将根节点入队列 1.删除节点 2.打印 3.将左节点,右节点入队列 不断重复 怎么确定到了另外一行 :param root: :return: ''' if not root: return [] duilie = [root] ls = [
2022-01-12 22:33:36 80
原创 94. 二叉树的中序遍历
前序遍历,并且和我以前写的非递归前序遍历实现形式上并不一样是先入根节点,然后开始1.出栈2.打印3.先右后左的入栈这样的打印出来的就是根左右class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = rightdef fun1(root):#二叉树的前序遍历的递归形式,非递归代
2022-01-12 22:10:06 61
原创 142. 环形链表 II
哈希表做法,就是不断的查表def fun1(head): #哈希表做法 dic={} q=head while q: if q in dic: return q dic[q]=0 q=q.next return None双指针做法/def fun2(head): s=head q=head while q and q.next: s=s.next
2022-01-12 19:11:36 92
原创 141. 环形链表
对于链表的题目,如果题目要求空间复杂度为o(1)或者怎么样不出意外就是双指针但是首先肯定是哈希表的做法更容易想到哈希表做法,空间上肯定是更复杂def fun1(head):#hash表做法 dic={}#创建字典 q=head while q: if q in dic: return True dic[q]=0 q=q.next return False双指针def fun2(head):
2022-01-12 17:50:39 94
原创 前端学习笔记2ady51
每日测验"""今日考题1.ascii,gbk,utf-8,gbk的区别2.请用至少两种方式实现m与n值交换m=10,n=53.什么是深浅拷贝4.什么是HTTP协议5.列举你所知道的HTML标签"""昨日内容回顾Web的本质"""浏览器服务端文件(html文件)"""课程web方向 前端 django bbs 路飞 HTTP协议"""HTTP协议的由来(sql语句由来) 浏览器只有一个如何兼容N多个服务端"""# 四大特性 1 基于请求响应 2
2022-01-08 09:42:05 356
原创 前端学习笔记1ady50
今日考题(20分钟)"""1.简述解释性语言和编译性的区别2.列举你所知道的python2与python3之间的区别3.什么是匿名函数。匿名函数一般结合什么一起使用,请列举几个常用的4.什么是TCP三次握手四次挥手5.什么是GIL全局解释器锁Ps:每日考题不提供答案,需自己独立完成并搜索对应答案总结收录"""学习思路"""下午两点之后 先回想今日主要内容之后自己整理 书写 遇到忘了的 快速的看一下今天的视频或者笔记"""前端今天开始又是一个重新做人的机会什么是前
2022-01-07 21:52:36 170
原创 Django学习笔记1day59
每日测验"""每日测验1.你所知道的前端框架和实用插件有哪些,他们各有什么特点2.使用bootstrap需要注意什么,常用的bootstrap样式有哪些"""昨日内容回顾阻止后续事件发生# 第一种(常用)return false# 第二种e.preventDefault()# 记form表单触发提交动作的按钮事件冒泡# 第一种(常用)return false# 第二种e.stopPropagation()事件委托# 针对标签无论是事先写好的还是后续动态
2022-01-05 23:21:09 162
原创 209. 长度最小的子数组
总结: 滑动窗口这个可以僚机一下o(n2)的时间复杂度的算法def fun1(target,nums):#o(n2)的代码超时了 ''' 这个怎么说呢 如果要写一个o(n2)的算法我觉得是很简单的 现在就来写一个 :param target: :param nums: :return: ''' max_ = float("inf") # 开到最大长度 bijiao = float("inf")
2021-12-22 12:15:49 61
原创 74. 搜索二维矩阵
总结: 答案里面给了两种方法,一种是两次二分查找 一种是一次二分查找 我这个算是两次二分查找 如果写一次二分查找,相当于拼接成了一个一维数组 def fun1(matrix,target): ''' 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 这个一看,如果你给他转化成一个一维数组 那么,就是一个升序的数组,直接二分查找就好 所以第一种思路:转化成一维数组,进行二分查找
2021-12-21 19:29:40 47
原创 367. 有效的完全平方数
总结: 我是废物我不会数学 还是二分查找用着舒服 一定要多总结数学思路暴力方法,时间复杂度大概为o(n**0.5)def fun1(num): ''' 第一种方法类似于顺序查找 :param num: :return: ''' if num==1: return True for i in range(2,num): if num/i==i: return True
2021-12-21 18:52:29 60
原创 50. Pow(x, n)
总结: 快速幂思想,无论是矩阵快速幂,快速幂,还是快速乘 都是很好的算法 快速幂应该首先考虑的是他的递归形式(因为从左往右没有从右往左好想) 那么这个题目呢? 假设有一个数77 或者 64 x**77=(x**38)**2 * x 所以一旦无法整除,那么就需要补充一个x 可以整除就不需要 但是从左往右看的时候就没有那么明显的规律了 你需要找到规律 而在这里就是 奇数的时候需要进行一个记录内置方法def fun1(x,n):#啊这,它通过了 ''' 这个
2021-12-20 11:58:33 109
原创 数据库考试
一张表只能有一个主键,但可以有多个唯一索引如果数据量比较大的情况可以考虑业务分表sql语言中删除视图使用drop命令--模式与内模式的映射 保证数据库物理结构的独立性--模式与外模式的映射 保证数据库逻辑结构的独立性等值连接是从关系R和S的广义笛卡尔积中选取A和B“属性值”相等的元组,所以只要两个关系里面的有元祖属性值相等就可以进行。 而自然连接是要求R和S中有一个或者多个相同的属性组触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准
2021-12-19 22:46:04 237
原创 1037. 有效的回旋镖
总结: 数学是个好东西,可惜我没有代码,不带数学的方法,需要判断分母为0问题def fun1(points):#没写完,还要判断分母为0情况 #把三个点拿出来 p1 = points[0] p2 = points[1] p3 = points[2] if (p2[0] - p1[0])!=0: d1 = (p2[1] - p1[1]) / (p2[0] - p1[0]) else: #1,2已经在一条直线上了,看三
2021-12-19 22:25:17 61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人