卷积网络(convolutional network),也叫作卷积神经网络(convolutional neural network,CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。卷积网络在诸多应用领域都表现优异。‘卷积神经网络’一词表明该网络使用了卷积(convolutional)这种数学运算。 卷积神经网络的一个基本构成如下图所示: 由上图可以看到,一个基本的卷积神经网络包含输入层、卷积层、非线性激活层、池化层、全连接层和输出层。其中的核心在于卷积层和池化层。 卷积层 卷积运算 卷积层的核心就是…

2021年5月31日 0条评论 178点热度 2人点赞 agedcat_xuanzai 阅读全文

BP神经网络一般指用BP算法训练的多层前馈神经网络。前馈网络的目标是近似某个函数$f^*$。例如,对于分类器,$y=f^*(\mathbf{x})$将输入$\mathbf{x}$映射到一个类别$y$。前馈网络定义了一个映射$\mathbf{y}=f(\mathbf{x};\mathbf{\theta})$,并且学习参数$\theta$的值,使它能够得到最佳的函数近似。 这种模型被称为是前向(feedforward)的,是因为信息流过$\mathbf{x}$的函数,流经用于定义$f$的中间计算过程,最终到达输出$\m…

2021年5月31日 0条评论 149点热度 2人点赞 agedcat_xuanzai 阅读全文

题目描述 请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象 int get(int key) - 如果键存在于缓存中,则获取键的值,否则返回 -1。 void put(int key, int value) - 如果键已存在,则变更其值;如果键不存在,请插入键值对。当缓存达到其容量时,则应该在插入新项之前,使最不经常使用的项无效。在此问题中,当存在平局(即两个或更多个键具有相同使…

2021年5月31日 0条评论 172点热度 1人点赞 agedcat_xuanzai 阅读全文

题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 解题思路 方法一:两层循环 刚开始我想复杂了,首先逐个遍历整个数组,如果碰到0,那么就在这个元素后面找一个非0的进行交换,如果找不到非0的,说明已经完成了。 参考代码如下: void moveZeroes(vector<int>& nums) { …

2021年5月30日 0条评论 108点热度 1人点赞 agedcat_xuanzai 阅读全文

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 示例: 输入:nums = [1,2,3,4] 输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。 提示: 0 <= nums.length <= 50000 1 <= nums[i] <= 10000 解题思路 这道题是简单题,思路一看就有,but,写了半天。。。 方法一 两层循环 首先想到的是,依次遍历整个数组,找到一个偶数,然后遍历它之后的…

2021年5月30日 0条评论 132点热度 1人点赞 agedcat_xuanzai 阅读全文

题目描述 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 示例 1: 输入:nums = [10,2] 输出:"210" 示例 2: 输入:nums = [3,30,34,5,9] 输出:"9534330" 示例 3: 输入:nums = [1] 输出:"1" 示例 4: 输入:nums = [10] 输出:"10" 提示: $1…

2021年5月30日 0条评论 134点热度 1人点赞 agedcat_xuanzai 阅读全文

题目描述 给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1 输出: 4 限制: 1 ≤ k ≤ 二叉搜索树元素个数 解题思路 寻找二叉搜索树中的第k大元素,可以利用二叉搜索树的性质来做。二叉搜索树的中序遍历的结果是一个递增的有序序列,我们可以用count变量记录遍历…

2021年5月30日 0条评论 130点热度 1人点赞 agedcat_xuanzai 阅读全文

题目描述 给定一个二叉树,确定它是否是一个完全二叉树。 百度百科中对完全二叉树的定义如下: 若设二叉树的深度为 h,除第 h 层外,其它各层 ($1 \quad to \quad h-1$) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(注:第 h 层可能包含 $1 \quad to \quad 2^h$ 个节点。) 示例 1: 输入:[1,2,3,4,5,6] 输出:true 解释:最后一层前的每一层都是满的(即,结点值为 {1} 和 {2,3} 的两层),且最后一层中的所有…

2021年5月29日 0条评论 121点热度 1人点赞 agedcat_xuanzai 阅读全文

题目描述 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins = [1, 2, 5], amount = 11 输出:3 解释:11 = 5 + 5 + 1 示例 2: 输入:coins = [2], amount = 3 输出:-1 示例 3: 输入:coins = [1], amount = 0 输出:0 示例 4: 输入:coins…

2021年5月27日 0条评论 138点热度 1人点赞 agedcat_xuanzai 阅读全文

题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。 下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。 特别地,我们希望可以就地完成转换操作。当转化完成以后,树中节点的左指针需要指向前驱,…

2021年5月27日 0条评论 170点热度 1人点赞 agedcat_xuanzai 阅读全文