WenlSun Blog

我干了什么 究竟拿了时间换了什么

状态压缩dp题目总结

动态规划之状态压缩

毕业旅行问题 小明目前在做一份毕业旅行的规划。打算从北京出发,分别去若干个城市,然后再回到北京,每个城市之间均乘坐高铁,且每个城市只去一次。由于经费有限,希望能够通过合理的路线安排尽可能的省些路上的花销。给定一组城市和每对城市之间的火车票的价钱,找到每个城市只访问一次并返回起点的最小车费花销。$1\le n \leq 20$. 毕业旅行问题 输入:城市个数n,城市间的车票价钱,n行n列。...

状态机模型题目总结

动态规划之状态机

买卖股票的最佳时机(简单) 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。买卖股票的最佳时机 思路:总共有几种可能的「状态」,再找出每个「状态」对应的「选择」。我们要穷举所有「状态」,穷举的目的是根据对应的「选择」更新状态。股票买卖的状态有...

剑指offer题目及代码

剑指

数组中重复的数字(简单) 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。数组中重复的数字 参考代码 1 2 3 4 5 6 7 8 int findRepeatNumber(vector<int>& nums) { un...

2020提前批笔试题

算法笔试

vivo提前批(6.7) 1.种花 现有一块长方形的地种植花草,因受到阳光水分等因素的影响,相邻的区域不能种植,假如用一个数列表示土地上的种植情况,0表示未种植,1表示种植,问不影响原有花草的情况下,最多可以种花草的数量是多少? LeetCode605 输入: 第一行一个数字,表示土地的长度n。第二行n个0 1组成的数列。输出:最大可种植的数量 思路:如果当前位置未种植且前一个位置未...

链表相关题目总结

链表

两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。LeetCode2 参考代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ListNo...

树相关题目总结

二叉树的先序遍历 根 -> 左 -> 右 参考代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 /** * 递归版本 */ vector<int> res; vector<int> preorderTrav...

单调队列和单调栈相关题目总结

单调队列、单调栈

单调栈 单调栈常用来解决 查找每个数左侧第一个比它小(大、小于等于、大于等于)的数的问题。 柱状图中最大的矩形(困难) 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。LeetCode84 思路:枚举所有柱形的上边界,作为整个矩形的上边界,然后去求左右边界。1.找出左边离它最近的,比它小的柱形 le...

C++终端读取相关操作

输入输出

从终端读取一行数字(以空格隔开)并存入数组中 参考代码 1 2 3 4 string line; getline(cin, line); istringstream issin(line); vector<int> nums((istream_iterator<int>(issin)), istream_iterator<int>()); 从终端读...

常用的代码块

代码块

大数相加(以字符串形式相加) C++ 代码模板 1 2 3 4 5 6 7 8 9 10 11 12 13 string add(string s1, string s2) { int carry = 0; string res; for (int i = s1.size() - 1, j = s2.size() - 1; i >= 0 || j >=...

深度学习问题总结

深度学习

DNN、CNN、RNN和LSTM的区别? DNN(多层感知机模型):它是一种多层神经网络结构,层与层之间以全连接的方式连接。模型具有较强的数据表征能力,但因为是全连接网络,模型的参数较多,容易出现过拟合,梯度消失等问题。 CNN(卷积神经网络):它也是一种多层级的神经网络,由卷积层,池化层和全连接层组成,卷积层的层与层之间是局部连接和权重共享的。权重共享减少了网络模型需要训练的参数。 ...