自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

泛泛之素

无他、唯手熟尔

  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 Mxnet (24): 机器翻译(seq2seq)

1. 机器翻译和数据集目前为止,我们已经知晓如何将循环神经网络应用于语言模型:在给定之前token的情况下预测下一个token。现在学习一种新的应用模式,机器翻译,它的输出不再是一个token而是一个token列表。机器翻译(MT)是指将一段文本从一种语言翻译为另一种语言。用神经网络解决这个问题通常称为神经机器翻译(NMT)。与语料库仅包含一种语言的语言模型相比,机器翻译的数据集至少含有两种语言,即源语言和目标语言。 将源语言的每一个句子对应翻译成目标语言。因此,机器翻译的数据预处理和语言模型的处理方式

2020-09-30 17:45:39 866

原创 Leetcode: NO.701 二叉搜索树中的插入操作 中序遍历

题目给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。例如,给定二叉搜索树: 4 / \ 2 7 / \1 3和 插入的值: 5你可以返回这个二叉搜索树: 4 / \ 2 7 / \ /1 3 5或者这个树也是

2020-09-30 08:34:52 186

原创 Mxnet (23): 双向循环神经网络(Bi-RNN)

到目前为止,我们假定我们的目标是给定到目前为止所看到的内容,例如在时间序列的上下文中或在语言模型的上下文中,对下一个单词进行建模。但是会有填写空白的情况:I am _____I am _____ very hungry.I am _____ very hungry, I could eat half a pig.根据可用的信息量,我们可能用非常不同的词(例如“高兴”,“不满意”和“非常”)来填充空白。显然,短语的结尾传达了有关选择哪个单词的重要信息。无法利用此功能的序列模型将无法在相关任务上执行

2020-09-29 19:12:55 959 4

原创 Mxnet (22): 长短期记忆(LSTM)

LSTM模型是解决隐藏变量模型信息保存和输入跳过的最早的方法之一。它具有门控循环单元(GRU)的许多属性,但是LSTM的设计要比GRU的稍微复杂一些。它是受到计算机的逻辑门的启发,为了控制存储单元,需要多个门。输出门:从单元中读出条目输入门:决定何时将数据读取到单元中遗忘门:用来重置单元内容这种设计也是为了需要时记住状态和不需要时忽略输入。1. 长短期记忆上面也介绍了LSTM中使用了三个门:输入门,输出门以及遗忘门。还有类似RNN中隐藏状态的变体用作存储单位(cell),记录其他信息1.1

2020-09-29 18:01:30 584

原创 Mxnet (21): 门控循环单元(GRU)

梯度爆炸通过裁剪梯度进行控制,但是矩阵的长乘积会导致梯度消失或发散。梯度消失在实践中的含义:我们可能会遇到这样的情况,早期观察对于预测所有将来的观察非常重要。第一token的影响至关重要,希望通过一些机制可以讲重要的早期信息存储在存储单元中。如果没有这种机制的话,一直传递下去会分配非常大的梯度。可能会遇到某些符号没有观察结果的情况。例如在解析网页的时候,可能会存在用于评估页面上传达的情感无关的HTML代码,我们希望有一些机制可以跳过这些无关的符号。可能会遇到序列各个部分之间存在逻辑中断的情况。例如,

2020-09-29 12:19:57 800

原创 Leetcode: NO.145 二叉树的后序遍历 迭代+递归

题目给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]进阶: 递归算法很简单,你可以通过迭代算法完成吗?链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal解题记录递归法/** * @author: ffzs * @Date: 2020/9/29 上午7:43 */class T

2020-09-29 08:08:32 191

原创 Mxnet (20): 循环神经网络(RNN)下

4. 循环神经网络循环神经网络,通过潜在自回归模型,使用隐藏状态来存储之前的信息。隐藏层和隐藏状态是指两个非常不同的概念。如所解释的,隐藏层是在从输入到输出的路径上从视图中隐藏的层。从技术上讲,隐藏状态是在给定步骤中我们所做的任何事情的输入,并且只能通过查看先前时间步骤中的数据来计算它们。递归神经网络(RNN)是具有隐藏状态的神经网络。4.1 不含隐藏状态的神经网络之前使用MLP就是不含隐藏状态的神经网络,可以随机选择特征标签对,并通过自动区分和随机梯度下降来学习网络参数。4.2 具有隐藏状态的循环

2020-09-28 20:00:11 907

原创 Mxnet (19): 循环神经网络(RNN)上

在生活中经常能够遇见序列数据,有些是根据时间更改,例如天气,股票,经济指数等,有些是有上下文关联的,如音乐、文章。为了更好的处理这些数据,从业工作者设计出了循环神经网络。它通过引入状态变量来存储过去的信息,并通过其与输入共同决定当前输出,咋感觉有点像残差块。循环神经网络常用于处理序列数据,如一段文字或声音、购物或观影的顺序,甚至是图像中的一行或一列像素。因此,循环神经网络有这广泛的实际应用,如语音模型、文本分类、机器翻译、语音识别、图像分析、手写识别和推荐系统。许多循环网络的示例都是基于文本数据。主要介

2020-09-28 16:30:08 483

原创 Leetcode: NO.117 填充每个节点的下一个右侧节点指针 II

题目给定一个二叉树struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶:你只能使用常量级额外空间。使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度。示例:输入:root = [1,2,3,4,5,

2020-09-28 09:25:27 151

原创 Mxnet (18): 密集连接的网络(DenseNet)

ResNet极大地改变了有关如何参数化深度网络功能的观点。DenseNet(密集卷积网络)在某种程度上是对此的逻辑扩展,它与ResNet的主要区别见下图:ResNet是相加DenseNet是连结x→[x,f1(x),f2([x,f1(x)]),f3([x,f1(x),f2([x,f1(x)])]),…]x→[x,f_1(x),f_2([x,f_1(x)]),f_3([x,f_1(x),f_2([x,f_1(x)])]),…]x→[x,f1​(x),f2​([x,f1​(x)]),f3​([x,f

2020-09-27 16:17:03 2722

原创 Mxnet (17): 残差网络(ResNet)

理论上添加新的层会导致误差降低,但是实践中,添加过多的层后训练误差往往不降反升。即使利用批量归一化带来的数值稳定性使训练深层模型更加容易,该问题仍然存在。针对这一问题,何恺明等人提出了残差网络(ResNet)1 残差块结合下图理解残差,输入为 x ,假设我们希望学出的理想映射为 f(x) 。左侧, 虚线框中的部分必须直接学习映射f(x)f(x)f(x) 。右侧, 虚线框中的部分则需要拟合出有关恒等映射的残差映射f(x)−xf(x)−xf(x)−x。我们只需将图中右图虚线框内上方的加权运算(如

2020-09-27 15:25:20 878

原创 Mxnet (16): 并行网络(GoogLeNet)

GoogLeNet吸收了NiN中网络串联网络的思想,并在此基础上做了很大改进。以前的网络中对kernel_size的选取1~11都有,GoogLeNet的见解是多种大小的内核一起使用可能会有利,有点选举的赶脚1.Inception 块GoogLeNet中的基础卷积块叫作Inception块,得名于同名电影《盗梦空间》(Inception)。与NiN块相比,这个基础块在结构上更加复杂其实由四个并行路线组成:1×1 卷积3×3 卷积 + 1×1 卷积5×5 卷积 + 1×1 卷积3×3 最大池

2020-09-27 14:59:21 1349

原创 Mxnet (15): 网络中的网络(NiN)

1. 网络中的网络(NiN)LeNet、AlexNet和VGG在设计上的共同之处是就是都是先通过卷积提取特征,然后通过全链接层进行分类。NiN使用了另外一种思路,将简单的卷积和全链接结构协程Block,然后将这些block串联形成网络。1.1 NiN块卷积层的输入和输出通常是四维数组(样本,通道,高,宽),而全连接层的输入和输出则通常是二维数组(样本,特征)。如果想在全连接层后再接上卷积层,则需要将全连接层的输出变换为四维。这里通过1×11×11×1卷积层作为全链接层,每一个1×11×11×1相当于一

2020-09-27 14:55:00 343

原创 Leetcode: NO.235 二叉搜索树的最近公共祖先

题目给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6 解释: 节点

2020-09-27 07:36:45 143

原创 Mxnet (14): 神经网批量归一化

1. 批量归一化训练深度神经网络很困难,存在一些挑战,需要引入批量归一化来处理这些这些挑战:数据预处理通常会对结果有巨大的影响,通常需要将我们的数据进行特征标准化,让特征平均值为0,方差为1。.在CNN模型中,中间层的变量可能会采用变化很大的值,可能会阻碍网络的收敛,如果一层的变量值是另一层的100倍,那么需要对学习率进行调整。更深的网络更复杂,很容易过拟合,因此正则化显得更加关键在模型训练时,批量归一化利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的

2020-09-26 20:37:28 507

原创 Mxnet (13): 重复元素神经网络(VGG)

1. 使用重复元素的网络(VGG)AlexNet在LeNet的基础上增加了3个卷积层。但AlexNet作者对它们的卷积窗口、输出通道数和构造顺序均做了大量的调整。但并没有提供简单的规则以指导后来的研究者如何设计新的网络。VGG提出了可以通过重复使用简单的基础块来构建深度模型的思路。1.1 VGG块经典CNN的基本构建块是以下序列:具有填充以保持分辨率的卷积层通过ReLU的获取非线性max pooling层的合并层。个VGG块由一系列卷积层组成,然后是用于空间下采样的最大池化层。作者将卷积

2020-09-26 14:48:05 362

原创 Mxnet (12): 深度卷积神经网络(AlexNet)

1. 深度卷积神经网络(AlexNet)尽管在引入LeNet之后,CNN在计算机视觉和机器学习社区中广为人知,但它们并没有立即占据主导地位。尽管LeNet在早期的小型数据集上取得了良好的结果,但尚未确定在更大,更现实的数据集上训练CNN的性能和可行性。实际上,在1990年代初期到2012年的分水岭结果之间的大部分时间里,神经网络通常被其他机器学习方法所超越,例如支持向量机。当初神经网络没有达到现在的水平,原因有很多:计算能力不足,没有现在显卡如此普及,很难处理多层CNN。数据集相对较小。没有初始

2020-09-26 11:30:57 315

原创 Leetcode: NO.113 路径总和 II 回溯

题目给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[ [5,4,11,2], [5,8,4,5]]链接:https://leetcod

2020-09-26 07:47:14 150

原创 Mxnet (11): 卷积神经网(CNN)

1. 卷积神经网卷积神经网络(CNN),专门为了处理图片而设计的神经网络。基于CNN的体系结构现在在计算机视觉领域无处不在,并且已经变得如此占主导地位,以至于今天几乎所有开发出商业应用程序或参加与图像识别,对象检测或语义分割有关的应用都会用到。CNN除了准确率高,CNN往往在计算效率上也高,这不仅是因为它们所需的参数比完全连接的架构少,而且卷积易于在GPU内核之间并行化。因此从业人员在可能情况下都会使用CNN,甚至在处理一些一维结构的任务(音频,文本和事件序列分析),CNN的一些巧妙改编也使它们适用于图

2020-09-25 21:24:44 897

原创 Mxnet (10): 深度学习神经网络构造

1.构造net1.1 构造BlockBlock类是nn模块里提供的一个模型构造类,简单概括Block的基本功能:接收输入数据作为其前向传播函数的参数。通过使前向传播函数返回一个值来生成输出。请注意,输出的形状可能与输入的形状不同。计算其输出相对于其输入的梯度,可以通过其反向传播函数进行访问。通常,这是自动发生的。存储并提供对执行前向传播计算所需的那些参数。根据需要初始化模型参数。我们可以继承它来定义我们想要的模型:通过重写Block类的__init__方法,构造模型结构通过重写Bl

2020-09-25 11:32:59 928

原创 Leetcode: NO.106 从中序与后序遍历序列构造二叉树

题目根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-travers

2020-09-25 08:24:03 148

原创 搞机:搭建使用gpu进行深度学习的docker镜像

由于重装系统等原因,每次重装以后,想要搞pytorch这些都要重现安装cuda,cudnn这个怪麻烦的,于是就搞一个docker镜像,可以简化这个过程,并且结合jupyter notebook,使用上也不会过于麻烦,安装上常用miniconda和常用库,以及最近使用的mxnet和pytorch,gpu版本,而且docker19.03 在docker里面想读取nvidia显卡再也不需要额外的安装nvidia-docker。技术栈:docker19.03cuda10.2cudnn8jupyterm

2020-09-24 22:02:51 4822

原创 Mxnet (9):kaggle实战:房价预测

1.处理数据import osimport requestsimport zipfileimport tarfileimport hashlibfrom d2l import mxnet as d2lfrom mxnet import gluon, autograd, init, np, npxfrom mxnet.gluon import nnimport pandas as pdnpx.set_np()1.1 获取数据可以在kaggle官网下载:https://www.kagg

2020-09-24 13:45:07 297

原创 Leetcode: NO.501 二叉搜索树中的众数 中序遍历

题目给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树例如:给定 BST [1,null,2,2], 1 \ 2 / 2返回[2].提示:如果众数超过1个,不需考虑输出顺序进阶:你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内)链接:htt

2020-09-24 08:25:14 138

原创 Mxnet (8):过拟合处理之丢弃法(Dropout)

1. Dropout经典的泛化理论表明,要缩小训练和测试性能之间的差距,应该然模型尽可能简单。简单性也可称为平滑性,模型不应该对输入的微小变化敏感。例如,当我们对图像进行分类时,我们期望向像素添加一些随机噪声并不造成影响。当训练具有多个层次的深度网络时,注入噪声仅在输入输出映射上就增强了平滑度。这种方法称为dropout,在正向传播过程中计算每一个内部层的时候注入噪声,这也成为了训练神经网络的标准技术。在整个训练过程中,每次迭代过程中,在计算下一层之前将部分节点清零。如下图就是将一个5个隐藏单元的ML

2020-09-23 14:11:37 709

原创 Mxnet (7):过拟合处理之权重衰减(Weight Decay)

1.权重衰减面对过拟合问题,最有效的方法就是增加数据集的大小,但是增加数据往往是比较困难的,短期内很难实现,因为数据都是积累而来的。所以着重专注于应用正则化处理数据来实现减少过拟合。1.1 规范 和 权重衰减权重衰减等价于 L2L_2L2​ 范数正则化(regularization)。则化通过为模型损失函数添加惩罚项使学出的模型参数值较小,是应对过拟合的常用手段。线性回归损失函数:L(w,b)=1n∑i=1n12(w⊤x(i)+b−y(i))2L(\mathbf{w}, b) = \frac{1}

2020-09-23 12:10:03 807

原创 Leetcode: NO.617 合并二叉树

题目给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 1 2

2020-09-23 07:48:20 129

原创 Mxnet (6):过拟合和欠拟合

1.过拟合究其根本我们训练模型,目的是预测也好,分类也好,希望的是无论输入的数据是否训练过,都要维持在高的准确率,就是说普适性。打个比方,我们学习数学的过程,这个过程其实就很像在训练我们大脑中的模型,我们做的练习题就时训练过程,参加考试就是测试模型,对于一个考试,A同学逻辑思维很好,通过平日的练习训练出了解题的逻辑,在考试中拿到了高分;B同学记忆力特别好,做过的每一道题都能记住,恰好这次考试考的题目他都做过,分数比A还高;又一次考试,A还是那些分,但是这次考的题目B都没做过,拿了低分。B同学的训练的模型只

2020-09-22 16:17:40 424

原创 Mxnet (5):多层感知机(multilayer perceptron,MLP)

在softmax回归的基础上实现,将模型网络换成多层感知机。1.数据数据跟softmax回归一样使用Fashion-MNIST图像分类数据集。from d2l import mxnet as d2lfrom mxnet import gluon, np, npx, autograd, initfrom plotly.offline import plot, init_notebook_modeimport plotly.graph_objs as goinit_notebook_mode(co

2020-09-22 11:23:49 451

原创 Mxnet (4):隐藏层和激活函数

1. 线性模型问题线性模型限制了特征和结果的单调关系,如果某些事实如模型一样就有具有单调性的话,那么这种线性模型是有效的,但是在一些情况输入和输出并不具有单调性。我们要根据体温预测死亡的可能性。对于体温高于37°C(98.6°F)的个人,较高的温度表示更大的风险。但是,对于体温低于37°C的个人,较高的温度表示较低的风险!在这种情况下,我们也可以通过一些巧妙的预处理解决问题。即,我们可以使用距37°C的距离作为特征。2. 隐藏层为了解决非线性的问题,引入了隐藏层。隐藏层的作用就如softmax运行时,

2020-09-22 10:26:14 4461

原创 Leetcode: NO.968 监控二叉树 后序遍历

题目给定一个二叉树,我们在树的节点上安装摄像头。节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。计算监控树的所有节点所需的最小摄像头数量。示例 1:输入:[0,0,null,0,0]输出:1解释:如图所示,一台摄像头足以监控所有节点。示例 2:输入:[0,0,null,0,null,0,null,null,0]输出:2解释:需要至少两个摄像头来监视树的所有节点。 上图显示了摄像头放置的有效位置之一。提示:给定树的节点数的范围是 [1, 1000]。

2020-09-22 08:17:49 143

原创 Mxnet (3): Softmax 回归(Softmax regression)

有一种logistic回归的一般形式,叫做Softmax回归,用于处理多类型的分类问题。0.Softmax操作我们将在此处采用的主要方法是将模型的输出解释为概率。我们将优化参数以产生使观察到的数据的可能性最大化的概率。然后,为了生成预测,我们将设置一个阈值,例如,选择具有最大预测概率的标签。正式地说,我们想要任何输出 y^j\hat{y}_jy^​j​ 被解释为给定项目属于类别的概率 j 。然后我们可以选择具有最大输出值的类别作为我们的预测 argmax⁡jyj\operatorname{ar

2020-09-21 15:57:44 524

原创 Leetcode: NO.538 把二叉搜索树转换为累加树 逆中序遍历

题目给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 原始二叉搜索树: 5 / \ 2 13输出: 转换为累加树: 18 / \ 20 13链接:https://leetcode-cn.com/pr

2020-09-21 07:20:17 107 1

原创 Mxnet (2): 线性回归(linear regression)

0. 准备依赖:python=3.6mxnet-cu102==1.7.0jupyter==1.0.0plotly==4.10.0模块使用import mxnet as mxfrom mxnet import autograd, ndimport randomfrom plotly.offline import plot, init_notebook_modeimport plotly.graph_objs as goinit_notebook_mode(connected=Fal

2020-09-20 18:45:46 445

原创 Mxnet (1): 基本使用

1. 矩阵操作使用方法跟numpy基本相同,会用numpy的这个没有难度1.1创建矩阵from mxnet import ndarray = nd.array([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])arange = nd.arange(20).reshape((4,5))ones = nd.ones((3,3,3))zeros = nd.zeros((2,3))full = nd.full((2,3), 2)random_normal =

2020-09-20 18:13:03 542

原创 Leetcode: NO.78 子集 回溯

题目给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]链接:https://leetcode-cn.com/problems/subsets解题记录使用回溯算法解题因为不能有重复子集,因此之前获取的值不能重复获取,这里通过控制start的位置,每一

2020-09-20 07:18:37 129

原创 python小技巧:pip 更换镜像源 + conda通过environment.yml创建环境

1. 更换PyPI镜像国内pip拉一些包速度很慢,几kb,几十kb很常见,小的包还好说,向pytorch,MKL这种就很难受,这时候可以通过配置一些国内镜像提速,但是镜像有些包是没有的,没有的话可以跟换镜像或者切换回默认。更换为清华源pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple还原:pip config unset global.index-url2 conda 通过yml文件迁入迁出近年来

2020-09-19 14:05:50 5520 2

原创 Leetcode: NO.404 左叶子之和

题目计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24链接:https://leetcode-cn.com/problems/sum-of-left-leaves解题记录注意题目问的是左子叶,父节点不算的,没有其他子节点的那种/** * @author: ffzs * @Date: 2020/9/19 上午7:05 */class TreeNo

2020-09-19 07:29:06 118

原创 Android & Kotlin:通过实现画板App学习onTouchEvent

之前几个例子中经常使用到onClick,今天学习一下onTouchEvent。onTouchEvent和onClick是不同的事件,click只是点击一次,onTouchEvent是观察整个touch过程。0.效果展示1. 布局1.1 RelativeLayout之前都是使用LinearLayout进行布局,还有一种布局使用也挺多的:RelativeLayout,可以通过相对定位的方式让控件出现在布局的任何位置。通过描述跟父组建或是其他组建关系进行布局,如下为布局使用设置:layout

2020-09-18 14:36:38 1173

原创 Leetcode: NO.47 全排列 II 回溯算法

题目给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]链接:https://leetcode-cn.com/problems/permutations-ii解题记录回溯算法循环过程中要注意避免重复情况,可以减少计算步骤首先要将数组排序,将重复的情况放到一起每一层填数的时候检查是否和之前相同进行跳过,避免重复/** * @author: ffzs * @Date: 2

2020-09-18 07:32:00 143

工作明细 job_to_map

dash作图主体分为两大部分: 一部分是数据部分data,二部分是呈现部分layout。 由于是在网页上呈现,所以layout部分的编写,是基于html语言的的一些标签。 看一下代码:

2018-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除