华为机试题最少跳跃次数

2020-07-17  阅读次数:

  在华为机试题中,有这么一道算法题,当时在线考试没做出来,后来再想想还是做出来了,现记录下个人思路。

  题目大致就是这个意思:一个正整数的数组,从第一个数向后跳跃,跳跃的长度不能大于自身值的大小,现给出一个数组,求从1个数跳跃到最后一个数位置的时候,所有跳跃方式中跳跃次数最少的次数。

  比如 :给出数组 {2,3,2,1,2,1,5},2跳跃到5的位置最少跳跃次数为3次,有两种跳跃方式 2->2->2->5或者2->3->2->5。

  求最少问题联想到贪心算法和动态规划算法,这里开始错误的认为最优解与子问题最优解相关,一下就往动态规划算法想去了,最后没搞出来。

  后来的思路,求最少跳跃次数,那我直接点把所有的跳跃方式列举出来,起码能解决问题,虽然不是最好的算法。

  首先来一个use 数据库名 ;

  1.创建表

  这里的字段名是自己取,有意义的名称如:name(姓名),age(年龄),id(编号)

  字段类型是指字段的类型如:int ,varchar

  可以使用char,但是建议使用varchar.

  因为同样是长度同样是10的char、varchar,插入的数据的长度是3的话,char会占10个字符,varchar只占3个。

  例子:

  注意:

  1.最后一个字段没有逗号

  2.括号后面有个;

  3.不要用中文拼写,符号

  3.查看所有表

  4.查看表的详情

  例:

  5.改表名

  例:

  6.增加字段

  增加字段的时候可以在末尾加上特定的单词,短语来改变新增字段的位置

  新增字段的默认位置在末尾

  first:新增字段在表头

  after 字段名:新增字段在固定字段后

  例:

  7.改字段名以及字段类型

  例:

  8.删除字段

  例:

  9.删除表

  例:

  研究表明,卷积神经网络可能不适合于图像隐写分析。Xunet考虑了传统隐写分析的领域知识设计了 一种新的卷积神经网络的结构,在网络中采用第一层卷积中所产生的特征值的绝对值,来方便与改进后续层的统计建模(什么意思不太懂)。在网络的前几层使用TanH激活函数,后几层采用的卷积核来防止过拟合。

  其具体的网络结构如下图所示:

  在这里插入图片描述

  对网络的多个层的功能进行具体的解释是困难的,所以只对上述结构的HPF和Group 1进行功能解释。HPF采用了论文GNCNN中所采用的高通滤波器,放大了Input image之中的噪声。Group 1中的卷积层将HPF层中产生的噪音残差作为特征值输入。为了帮助该卷积层的统计建模,这个卷积层中禁用默认的偏差学习,使得特征映射相对于零是对称的(具体为啥也不知道)。卷积层后是ABS层来丢弃特征值中的符号,ABS层的输入随后被输入到BN层中使得通过BN的输出能够落到TanH函数中梯度较大的区域,避免出现梯度消失的问题。