自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CongliYin的博客

达则兼济天下,穷则独善其身。

原创 支持向量机(SVM)入门理解与推导

一、简介 支持向量机(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。由简至繁的模型包括: 当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机; ...

2018-03-28 17:03:05 101429 40

原创 MATLAB在三维图形上绘制标记点

一、背景 在实际应用绘制图形时,需要在三维模型上标记出来某些点,甚至还要绘制这些点之间的对应关系(使用直线连接),现将几种不同的绘制方法总结如下。 二、标记点 1、标记扁平点 % x,y,z是要标记的点的坐标 % r.表示颜色 % 'markersize',30是点的大小 pl...

2019-02-25 18:44:41 5914 0

原创 matlab2012b安装教程

下载安装包 解压后双击setup.exe进行安装 选择不使用internet进行安装 在 xx:\matlab\Matlab-R2012b路径下新建 license 文件夹,然后新建 license.lic文件,内容如下: %%%%%%%%%%%%%%%%%%%%%%%%%%%% INCREM...

2018-11-14 11:57:13 1925 1

原创 面经总结(校招篇)

  校招是个很费心力的过程,今年的算法岗竞争激烈,我虽然有2短实习经历,校招依然被大佬们挤得无处可逃,校招提前批一般是免笔试的,所以我投递了很多家,但最终只拿到了美团的算法岗offer,另外在滴滴也幸运的实习转正了,所以正式秋招基本就没有参与了。   校招面试面了5家,拿到了1家的offer,以下...

2018-11-05 16:17:31 553 0

原创 面经总结(实习篇)

  校招告一段落,将这一年多来的面试经历做一总结。在求职过程中,我还算幸运的,也可能是自己比较懒,所以面试的公司比较少,本篇先总结实习的求职经历。   其实在研一下学期还比较迷茫,没想清楚自己毕业到底要去做什么,互联网?国企?银行?读博?有很多选择,也想过很多。后来想,不管以后做什么,计算机专业的...

2018-11-05 15:54:33 327 0

原创 K近邻法(k-nearest neighbor, KNN)

K近邻法(k-nearest neighbor, KNN)是一种基本分类和回归算法。对于分类问题,其输入为样本的特征向量,输出为样本的类别,可以是多类别;对于回归问题,输出是一个实值。分类时,对于新的无label实例,根据其 k 个最近邻的训练实例的类别,通过多数表决等方式进行预测。k 值的选择、...

2018-10-31 11:02:04 98 0

原创 逻辑回归(Logistic Regression)入门理解与推导

逻辑回归(LR)是一个分类算法,它可以处理二元分类问题和多元分类问题。在介绍LR之前,先回顾一下线性回归(Liner Regression)。 一、线性回归 线性回归是一个回归模型,给定数据集 D={(x1,y1),(x2,y2),...,(xm,ym)}D = \{ ({x_1},{y_1}),...

2018-10-30 11:46:33 428 0

原创 CSDN插入公式

写博客时,常常有一些公式需要编辑,CSDN提供和Latex一致的公式编辑方法,有一种非常简单的方法插入公式,如下: 使用MathType编辑公式,以MathML方式复制出来,具体设置在MathType菜单栏的预置中; 删除复制内容前后的 [ ,然后前后加 $ 符号,即可 如下公式: $\mat...

2018-10-29 18:02:46 444 0

原创 CSDN图片的居中与缩放

使用CSDN插入图片时,往往需要对图片居中和缩放,以下是一个例子: 原始插入图片代码: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20181029173714777.png?x-oss-process=image/watermark,type_ZmFuZ3p...

2018-10-29 17:40:13 527 0

原创 梯度下降(Gradient Descent)

在求解机器学习模型参数时,即对问题进行优化时,梯度下降是最最常用的方法之一,下面对梯度下降做一个总结。 一、梯度 在微积分中,对多元函数的变量求偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度,比如函数 f(x,y),分别对 x, y 求偏导,得: 那么这个梯度组成的向量有什么用呢?...

2018-10-23 21:39:38 93 0

转载 Mac OS下安装Photoshop CC 2017破解版

见链接: https://www.jianshu.com/p/ed2defaf9301

2018-10-13 15:59:38 2334 0

原创 LeetCode #235. 二叉搜索树的最近公共祖先

题目描述:给定二叉搜索树及两个节点,求这两个节点的最近公共祖先 解题思路: 两个节点分别在左右子树,公共祖先是根节点; 两个节点都在左子树; 两个节点都在右子树; class Solution { public: TreeNode* lowestCommonAncestor(...

2018-09-14 18:14:40 1174 0

原创 二维数组查找某个数出现的次数

int solution(vector<vector<int>> A, int target) { if(A.size() == 0) return 0; int cols = A[0].size(); ...

2018-09-14 17:30:33 863 0

原创 买n个苹果,一袋6个或者8个,求袋数最少时刚好买够n个?

题目描述:小易去买苹果,有两种包装,一种一袋8个,一种一袋6个,小易要买n个苹果(不能多也不能少),输出袋子最少的购买方案下的袋子,若无法正好买到n个,则输出-1。 解题思路: 如果要使袋子数最少,那么一定是尽量买8袋的,如果8袋不满足条件,逐步减少袋数,看6袋是否满足; int sol...

2018-09-14 15:28:21 806 0

原创 Leetcode#142. 环形链表 II

题目描述:如果链表有环,返回环的入口;如果没有环,返回NULL; 解题思路: 之前有一题是判断链表是否有环,使用快慢指针实现; 对于此题,在链表有环且快慢指针第一次相遇时,将慢指针指向链表头,快指针不变,然后两者一起前进(都是一步),知道再次相遇,就是环的入口; /** * Defin...

2018-09-05 21:57:24 217 0

原创 蓄水池问题

题目描述: 给出一个数据流,这个数据流的长度很大或者未知,并且对该数据流中数据只能访问一次。请写出一个随机选择算法,使得数据流中所有数据被选中的概率相等。 或者也可以这么说: 要求从N个元素中随机的抽取k个元素,其中N的大小未知。 解题思路: 用到的方法为蓄水池抽样算法(reserv...

2018-09-05 20:34:19 693 0

原创 不使用新的变量交换两个变量的值

解题思路: 加减法 异或 都很简单,思路很新奇 # 加减法 def swap(a, b): a = a + b b = a - b a = a - b return a,b # 异或 def swap(a, b): a = a ^ b b ...

2018-09-05 20:28:15 219 0

原创 Leetcode#477. 汉明距离总和

题目描述:链接 解题思路: 利用计算汉明距离的那题,暴力求解(leetcode中超时) 好的方法进一步讨论中 class Solution { public: int hammingDistance(int x, int y) { //两个数异或,为1表...

2018-09-05 18:03:25 322 0

原创 Leetcode#461. 汉明距离

题目描述:链接 解题思路: 两个数的异或,如果二进制结果中某一位为1,说明原始数字的对应位置两个数是不同的,因此只需计算两个数异或之后1的个数即可; 一个二进制数中1的个数,可以使用n&(n-1)的方法; class Solution { public: int ...

2018-09-05 17:58:21 66 0

原创 python:对dict排序

d = {'a':7, 'b':3, 'e':12, 'c':8} 按照key大小排序 # 按key排序 d1 = [(k, d[k]) for k in sorted(d.keys())] 按照val...

2018-09-02 21:18:53 2241 0

原创 Leetcode#700. 二叉搜索树中的搜索

解题思路: 题目 递归,注意递归时要返回 class Solution { public: TreeNode* searchBST(TreeNode* root, int val) { if(root == NULL) return...

2018-08-29 23:30:26 86 0

原创 Leetcode#234. 回文链表

解题思路: 快慢指针找到链表中点; 反转链表中点->next,即链表的后半部分; 同时遍历判断反转后的后半部分与前半部分的值的大小; /** * Definition for singly-linked list. * struct ListNode { * i...

2018-08-28 23:39:45 54 0

原创 Leetcode#42. 接雨水

解题思路: 可以发现被水填满后的形状是先升后降的塔形,因此,先遍历一遍找到塔顶,然后分别从两边开始,往塔顶所在位置遍历,水位只会增高不会减小,且一直和最近遇到的最大高度持平,这样知道了水位,就可以边遍历边计算面积; class Solution { public: int trap...

2018-08-28 17:43:28 75 0

原创 Leetcode#876. 链表的中间结点

解题思路: 寻找中间节点的问题,最好的方法就是一个快指针,一个慢指针; 细节:如果链表节点数是偶数,需要返回的是中间两个节点的第二个,可以通过快指针的状态区分链表节点是奇是偶 /** * Definition for singly-linked list. * struct ListN...

2018-08-27 23:36:48 110 0

原创 Leetcode#718. 最长重复子数组

动态规划: class Solution { public: int findLength(vector<int>& A, vector<int>& B) { int a =...

2018-08-27 16:46:09 285 0

原创 Leetcode#230. 二叉搜索树中第K小的元素

解题思路: 二叉搜索树的中序遍历是递增的; 遍历后的第k个元素即为第k小; /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * ...

2018-08-26 23:36:42 168 0

原创 Leetcode#154. 寻找旋转排序数组中的最小值 II

解题思路: 思路一:暴力搜索 思路二:二分搜索,当 mid > right时, left = mid+1;当mid < left时,right = mid;否则,right–; //思路一 class Solution { public: int fin...

2018-08-26 23:28:40 90 0

原创 Leetcode#153. 寻找旋转排序数组中的最小值

解题思路: 思路一:暴力搜索,后一个元素比前一个小,返回后一个元素;如果没有,说明最小的元素在第一个; 思路二:二分搜索, //思路一 class Solution { public: int findMin(vector<int>&am...

2018-08-26 23:11:11 156 0

原创 Leetcode#24. 两两交换链表中的节点

思路一:非递归,借助于一个新节点 思路二:递归 //思路一 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNo...

2018-08-26 22:16:03 84 0

原创 Leetcode#11. 盛最多水的容器

题目见图片: 解题思路: 思路一:暴力求解,两个循环遍历,时间复杂度O(n*n); 思路二:双指针p, q 头尾遍历,每次较小的指针往中间移动,直至相遇,时间复杂度O(n); //思路一 class Solution { public: int maxArea(vector&...

2018-08-26 21:42:20 55 0

原创 Leetcode#8. 字符串转整数 (atoi)

与之前的文章 atoi类似,这道题多了 Leetcode 题目的一些限制,条件有所改变,只需注意条件即可。 class Solution { public: int myAtoi(string str) { if(str.length() == 0) ...

2018-08-26 21:16:20 35 0

原创 最长递增子序列的长度(编程之美)

题目描述: 编程之美2.16中,求数组最长递增子序列的长度,例如数组为:1,-1,2,-3,4,-5,6,-7,那么最长递增序列是:1,2,4,6,长度是4. 可以看出,子序列不一定是连续的 解题思路: 动态规划问题; 使用 i 表示向前遍历的位置,当 i=1时,序列为 1,长度为1;...

2018-08-26 17:18:55 3068 0

原创 跳台阶

题目一:n阶台阶,每次只能跳2阶或者3阶,一共有多少种跳法? 分析: 第n阶可以是第n-2阶跳2阶; 第n阶可以是第n-3阶跳3阶; 因此有 f(n) = f(n-2) + f(n-3) int jump(int n) { if(n < 2) ret...

2018-08-26 00:05:59 37 0

原创 输出二叉树每一层的最右节点

题目含义如图: 解题思路: 二叉树层次遍历,输出每一层的最后一个元素即可; 参考层次遍历代码 struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x): va...

2018-08-25 16:02:47 2158 0

原创 Leetcode#653. 两数之和 IV - 输入 BST

解题思路: 二叉搜索树的中序遍历是有序的,先中序遍历,再使用twoSum II的二分法解决。 class Solution { public: void inorderTraversal(TreeNode* root, vector<int> &...

2018-08-25 15:39:01 182 0

原创 LeetCode#437. 路径总和 III

class Solution { public: int pathSum(TreeNode* root, int sum) { if(root == NULL) return 0; return DFS(root, sum)...

2018-08-19 11:07:22 162 0

原创 LeetCode#103. 二叉树的锯齿形层次遍历

题目链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/description/ class Solution { public: vector<vector&lt...

2018-08-19 09:58:45 191 0

原创 LeetCode#96: 不同的二叉查找树

题目: 给出 n,问由 1…n 为节点组成的不同的二叉查找树有多少种? 例如, 给出 n = 3,则有 5 种不同形态的二叉查找树: 思路: 当 n = 0时,返回0; 当 n = 1时,只有一种情况,返回1; 当 n >= 2时,需要考虑以下规律: 某根节点x...

2018-08-14 22:52:03 191 0

原创 Leetcode#194. 转置文件

awk '{ for(i=1; i<=NF; i++) { if(NR==1) { a[i]=$i; } ...

2018-08-11 20:30:12 278 1

原创 Leetcode#192. 统计词频

统计文件中单词出现的个数。 思路: tr 把空格全部转换成换行 sed把空行全部过滤掉 sort排序 uniq统计词频 sort 降序 awk 格式输出 cat words.txt | tr " " "\n" | sed -e '/^$...

2018-08-11 20:24:30 204 0

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