刷题
文章平均质量分 68
foolish-wanwan
喜欢科比
展开
-
C++STL总结详解
用C++刷题很久了,对用到的STL做个总结,方便以后查阅学习。文章目录STL的诞生STL中的容器、算法和迭代器vector容器vector插入数据vector也可以存放自定义的数据类型,嵌套vector存放数据,并用迭代器遍历vector删除元素vector互换容器vector预留空间string容器基本概念构造函数赋值操作string拼接操作string查找和替换string比较string字符存取string插入和删除string子串STL的诞生C++的面向对象和泛型编程思想,目的是复用性的提升。原创 2021-05-05 21:32:55 · 379 阅读 · 0 评论 -
贝叶斯优化调参
贝叶斯优化 (BayesianOptimization) 机器学习模型和神经网络模型都有很多参数需要调整,有很多超参数需要手动设定,很多时候往往是这些参数决定了一个问题能不能很好的解决,如网络有几层、学习率多大、dropout设置为多少、学习率等等。 穷举搜索 Grid Search 效率太低;随机搜索比穷举搜索好一点;目前比较好的解决方案是贝叶斯优化。贝叶斯算法的优点:贝叶斯调参采用高斯过程,考虑之前的参原创 2021-03-22 21:26:06 · 5619 阅读 · 0 评论 -
决策树算法
决策树算法是一种基于规则的方法,用一组嵌套的规则进行预测,在树的每个决策节点处根据判断结果进入到下一个分支,反复执行这种操作直到叶子结点,得到预测结果,这些规则的是算法通过数据学习到的而不是人为指定。 选用周志华老师的西瓜书中的西瓜数据作为实验数据。除了最后一列数据是西瓜的特征(label数据),色泽、根蒂、敲声和纹理都是特征(feature)。递归分裂过程决策树的建立是一个递归的过程,首先创立根节点,然后递归的建立左右原创 2021-03-09 17:37:06 · 252 阅读 · 0 评论 -
二叉树的层序遍历
二叉树的层序遍历二叉树的层序遍历跟前中后序遍历有点不一样,层序遍历是一层一层的遍历,用到的数据结构不是栈而是队列。vector<vector<int>> levelOrder(TreeNode* root) { queue<TreeNode*>que; vector<vector<int>>result; //定义的二维数组用来存放每一层遍历的结果 if(root!=NULL)que.push(原创 2021-02-21 08:11:57 · 146 阅读 · 1 评论 -
二叉树的遍历方式
二叉树的遍历方式前序遍历递归:递归函数最重要的三个部分:1 :递归函数的传参2:递归函数的出口 什么时候结束3:递归函数的内层逻辑是啥void pre(TreeNode *root,vector<int>&vec){ if(root==NULL)return ; // 递归函数的出口 如果此时节点指针为空 则返回 vec.push_back(root->val); // 把当前节点的值放进结果数组中 pre(r原创 2021-02-20 23:03:26 · 121 阅读 · 1 评论 -
动态规划LeetCode
动态规划题目总结近日做了一些LeetCode中的动态规划的题目,可以做个总结了!1:322.零钱兑换2:121.买卖股票最佳时机I3:122.买卖股票的最佳时机II4:面试题08.01三步问题5:70.爬楼梯6:746.使用最小路径爬楼梯7:343.整数拆分8:62.不同路径9:63.不同路径II322.零钱兑换该题显然是可以用动态规划去做的。不明白的可以看看这篇文章。里面列出了哪些情况是可以用动态规划去做。动态规划的做题步奏如下 1:*确定dp矩阵*,并明确dp[i]或者其他原创 2021-02-03 23:17:50 · 139 阅读 · 1 评论 -
动态规划拙见
动态规划刷题也有好几个月了,但一直都是沉醉于数组和字符串这些入门的知识点,这假期准备好好啃一些知名的算法了动态规划作为科技公司基本上必考的知识点,在刷题网站中占有很大的比重,很多的题目都可以用动态规划去做。今天就来捋一捋dynamic program。什么是动态规划先来个例题:问总共有多少种方法可以走到右下角? 如果想用动态规划解题,首先要先明确什么样类型的题目适合用动态规划去做,毕竟面试时 候,面试官不可能说:来用动态规划给我解这道题。动态规划题目特点 **1**:计数原创 2021-01-24 00:01:20 · 4443 阅读 · 5 评论 -
LeetCode 448 找到数组中消失的数字
LeetCode448题题目描述:给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:[4,3,2,7,8,2,3,1]输出:[5,6]题解:...原创 2020-12-29 20:26:38 · 136 阅读 · 0 评论 -
剑指offer-斐波那契数列
刷题笔记 不知不觉中走到了研二,恍惚之间好像还记得研一入学的场景,提着拉杆箱去学院帐篷那里报到,不对 ,应该恍惚之间还记得本科时候入学场景,提着拉杆箱去学院帐篷那里报到。哎,那么多年过去了 ,感觉还是碌碌无为。 准备一下来年的春招吧,重拾一下数据结构和算法。准备刷题,LeetCode和剑指offer,这里就当是个笔记本吧!剑指offerJZ7添加链接描述给定一个正整数n,问第n个斐波那契数列是多少(第0个是0,第一个是1)?首先斐波那契数列的定义是f(n+1)=f(n)+f(n−1),生成第原创 2020-12-28 12:46:25 · 211 阅读 · 2 评论 -
二维数组的查找
剑指offer刷题笔记二维数组的查找JZ2题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序, 每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数, 判断数组中是否含有该整数。样例输入:7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]输出:True题解思路:**直接暴力解法,数组问题好像没有什么是for循环解决不了的,如果有,那就再嵌套一个循环。**def fi原创 2020-12-28 16:53:58 · 312 阅读 · 0 评论