自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 数学建模之主成分分析

主成分分析基本概念:主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息。一般来说,当研究的问题涉及到多变量且变量之间存在很强的相关性时,我们可考虑使用主成分分析的方法来对数据进行简化。数据降维及其作用:降维是将高维度的数据(指标太多)保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。在实际的生产和应用中,降维在一定的信息损失范围内,可以为我们节省大量的时间和成本。降维也成为应用

2020-07-15 21:48:38 3839

原创 数学建模之聚类模型

聚类模型基本概念:“物以类聚,人以群分”,所谓的聚类,就是将样本划分为由类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测;也可以探究不同类之间的相关性和主要差异。聚类和分类的区别:分类是已知类别的,聚类未知。K-means聚类算法:流程:一、指定需要划分的簇[cù]的个数K值(类的个数);二、随机地选择K个数据对象作为初始的聚类中心(不一定要是我们的样本点);三、计算其余的各个数据对象到这K个初始聚类中心的距离,把数据对象划归到距离它最近的

2020-07-14 22:59:42 3391

原创 数学建模之时间序列分析

时间序列分析基本概念:时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来,本讲将主要介绍时间序列分析中常用的三种模型:季节分解、指数平滑方法和ARIMA模型,并将结合spss软件对时间序列数据进行建模。组成要素:1、时间要素;2、数值要素;时间序列数据:对同一对象在不同时间连续观察所取得的数据。时间序列分类:1、时期时间序列数值要素反映现象在一定时期内发展的结果。2、时点时间序列数值要素反映现象在一

2020-07-14 22:37:13 9522

原创 数学建模之图论最短路径问题

图论基本概念及如何作图无向图的权重邻接矩阵有向图的权重邻接矩阵狄杰斯特拉算法和贝尔曼福特算法求解最短路径狄杰斯特拉算法模板:visited:是否访问过;distance:最短距离;parent:上一节点;主要思想:确定起点后寻找下一联接点,不断更新最短路径,以未访问过点的最短路径为下一联接点,继续更新,循环直至到终点;缺点:不能处理负权重问题;解决方法:贝尔曼福特算法贝尔曼福特算法负权回路:matlab计算最短路径:[P,d] = shortestpath(G

2020-07-10 21:44:07 3609

原创 建模之数学规划

数学规划定义:数学规划是运筹学的⼀个分⽀,其⽤来研究在给定的条件下(约束条件),如何按照某⼀衡量指标(⽬标函数)来寻求计划、管理⼯作中的最优⽅案,即求⽬标函数在⼀定约束条件下的极值问题。分类:1. 线性规划(Linear programming)如果⽬标函数和和约束条件均是决策变量的线性表达式, 那么此时的数学规划问题就属于线性规划。2. ⾮线性规划(nonlinear programming)当⽬标函数和或者约束条件中有⼀个是决策变量X的⾮线性表达式, 那么此时的数学规划问题就属于⾮线性

2020-07-08 16:15:46 591 1

原创 数学建模之蒙特卡罗模型

蒙特卡罗模型定义:蒙特卡罗⽅法⼜称统计模拟法,是⼀种随机模拟⽅法,以概率和统计理论⽅法为基础的⼀种计算⽅法,是使⽤随机数(或更常⻅的伪随机数)来解决很多计算问题的⽅法。将所求解的问题同⼀定的概率模型相联系,⽤电⼦计算机实现统计模拟或抽样,以获得问题的近似解。为象征性地表明这⼀⽅法的概率统计特征,故借⽤赌城蒙特卡罗命名。原理:由⼤数定理可知,当样本容量⾜够⼤时,事件的发⽣频率即为其概率。PS:蒙特卡罗不是算法,它只是一种方法;蒙特卡罗与计算机仿真;计算机仿真(模拟)早期称为蒙特卡罗⽅法,是⼀

2020-07-08 16:13:58 4970 1

原创 课程表

C++代码:vector<vector<int>>num(numCourses); vector<int>indegree(numCourses); queue<int>que; int i,res=0; for(i=0;i<prerequisites.size();i++) { indegree[prerequisites[i][0]]++; num[prerequisites[

2020-05-17 01:07:47 245

原创 课程表2

C++代码:vector<int> findOrder(int numCourses, vector<vector<int>>& prerequisites) { vector<vector<int>>num(numCourses); vector<int>indegree(numCourses); queue<int>que; vector<int>nums;

2020-05-17 01:05:43 178

原创 二叉树的最近公共祖先

C++代码:if(root==NULL||root==p||root==q) return root; else { TreeNode*left=lowestCommonAncestor(root->left,p,q); TreeNode*right=lowestCommonAncestor(root->right,p,...

2020-05-03 23:06:13 99

原创 格雷编码

C++代码:vector<int>num; for(int i=0;i<pow(2,n);i++) { num.push_back((i>>1)^i); } return num;i>>1,位运算,右移一个位置。a^b,异或运算,二进制相同为0,不同为1。...

2020-04-18 22:57:15 105

原创 子集

C++代码:vector<vector<int>>num; for(int z:nums) { int s=num.size(); for(int i=0;i<s;++i) { num.push_back(num[i]); num[i].push_back...

2020-04-18 22:52:23 117

原创 只出现一次的数字

C++代码:int i,len=nums.size(),num; sort(nums.begin(),nums.end()); for(i=0;i<len;i+2) { num=nums[i]; if(i==len-1) return nums[len-1]; if(num!=nums[i+1]...

2020-04-07 16:55:57 94

原创 反转字符串

C++代码: stack<char>str; if(s.size()==0) return; for(int i=s.size()-1;i>=0;i--) { str.push(s[i]); } for(int i=s.size()-1;i>=0;i--) { s[i]=str...

2020-04-01 17:37:06 93

原创 通配符匹配

C++代码:int i,j,istar=-1,jstar=-1,num=0; if(s.size()==0&&p.size()==0) return true; else if(s.size()!=0&&p.size()==0) return false; else if(s.size()==0&&a...

2020-03-30 18:13:59 141

原创 加油站

C++代码:int i,j,leave=0,s; s=gas.size(); vector<int>num; if(s==1) { if(gas[0]>=cost[0]) return 0; else return -1; } for(i=0;i&lt...

2020-03-29 20:30:01 147 1

原创 跳跃游戏

C++代码:if(nums.size()<=1) { return true; } else { int i,end; end=nums.size()-1; for(i=nums.size()-2;i>=0;i--) { if(nums[i]+i&g...

2020-03-28 19:54:26 113

原创 分发饼干

C++代码:int i=0,j=0,res=0; if(g.size()==0||s.size()==0) return 0; sort(g.begin(),g.end()); sort(s.begin(),s.end()); for(;i<s.size();) { for(;j<g.size();) ...

2020-03-27 17:53:50 148

原创 滑动窗口的最大值

C++代码:vector<int>num; vector<int>num1; int i,j,x,y,z,num0; if(k>=nums.size()) { num0=nums[0]; for(i=1;i<nums.size();i++) { if(num...

2020-03-26 17:40:53 82

原创 判断子序列

C++代码:if(s.size()>t.size()) { return false; } int s_size=s.size(),i=0,j=0; for(i=0;i<s.size();i++) { for(;j<t.size();j++) { if(s[i]==t...

2020-03-26 16:41:35 246

原创 设计循环双端队列

C++代码:int*myCircularDeque; int head,end,myCircularDeque_size; int longestsize; /** Initialize your data structure here. Set the size of the deque to be k. */ MyCircularDeque(int k) {...

2020-03-25 22:53:06 89

原创 买卖股票的最佳时机2贪心算法

C++代码:int i,pri=0,num; if(prices.size()<=1) return 0; for(i=0;i<prices.size()-1;i++) { num=prices[i+1]-prices[i]; if(num>0) { pri=pri+...

2020-03-25 18:09:12 270

原创 整数反转

C++代码:int res=0; while(x!=0) { if(res>INT_MAX/10) { return 0; } if(res<INT_MIN/10) { return 0; } else ...

2020-03-24 23:18:09 58

原创 恢复二叉搜索树

C++代码:class Solution {public: TreeNode*firstmis; TreeNode*secondmis; TreeNode*pre; void result(TreeNode*root) { if(root==NULL) { return; } ...

2020-03-24 17:30:05 57

原创 不同的二叉搜索树2

C++代码:vector<TreeNode*>res; if(n<=0) { return res; } else { res=result(1,n); return res; } } vector<TreeNode*>result(int begin,i...

2020-03-23 22:06:43 86

原创 二叉树的中序遍历

C++代码:if(root) { if(root->left) { inorderTraversal(root->left); } num.push_back(root->val); if(root->right) { i...

2020-03-22 00:32:07 127

原创 二叉树的最大深度

C++代码:if(root==NULL) { return 0; } int l=maxDepth(root->left)+1; int r=maxDepth(root->right)+1; return l>r?l:r;递归

2020-03-21 21:46:19 56

原创 逆波兰表达式求值

C++代码:stack<int>num; if(tokens.size()==0) { return 0; } else { for(int i=0;i<tokens.size();i++) { if(tokens[i]=="+"||tokens[i]=="-"||t...

2020-03-20 22:16:06 90

原创 对称二叉树

C++代码:if(root==NULL) { return true; } else { return isittrue(root->left,root->right); } } bool isittrue(TreeNode*l1,TreeNode*l2) { if(l1=...

2020-03-20 16:46:01 49

原创 最小栈

C++代码:MinStack() { } void push(int x) { sta1.push(x); if(sta2.size()==0) { sta2.push(x); } else { if(sta2.top()<x) { sta2....

2020-03-19 22:55:50 41

原创 相同的树

C++代码:if(p==NULL&&q==NULL) { return true; } else if(p==NULL&&q!=NULL) { return false; } else if(p!=NULL&&q==NULL) { return ...

2020-03-19 21:37:11 54

原创 正则表达式匹配

C++代码:if(p.size()==0&&s.size()==0) { return true; } else if(p.size()==0&&s.size()!=0) { return false; } else { bool dp[s.size()+1][...

2020-03-18 22:45:16 53

原创 最长回文子串

C++代码:if(s.size()==0) { return ""; } else if(s.size()==1) { return s; } else { vector<string>str; int i,j,num,len=0; vector&l...

2020-03-17 22:44:11 60

原创 无重复字符的最长子串

C++代码:int i,j,num=0; char a; vector<char>str; if(s.size()==0) { return 0; } else if(s.size()==1) { return 1; } else { for(i=0;i&l...

2020-03-16 23:23:44 70

原创 有效的括号

C++代码:int i; char a; stack<char>str; if(s.size()==0) { return true; } else if(s.size()%2==1) { return false; } else { str.push('0...

2020-03-15 18:15:36 118

原创 最长公共前缀

C++代码:string str; string str1; int a,i,j,b=0,c; if(strs.size()==0) { return ""; } else if(strs.size()==1) { return strs[0]; } else { a=...

2020-03-14 21:10:42 138

原创 罗马数字转整数

C++代码:if(s.size()==0) { return 0; } else if(s.size()==1) { char a=s[0]; int num0; switch(a) { case'I':num0=1;break; cas...

2020-03-13 18:17:56 90

原创 合并k个有序链表

C++代码:if(lists.size()==0) { return NULL; } int i; vector<int>num; for(i=0;i<lists.size();i++) { ListNode*p=lists[i]; while(p!=NULL) {...

2020-03-12 20:15:48 92

原创 删除链表倒数第n个节点

C++代码:int length=0,a=0,b; ListNode*ptr=head; if(head==NULL) { return head; } while(ptr->next!=NULL) { length++; ptr=ptr->next; } if(lengt...

2020-03-11 20:25:30 91

原创 两数之和

C++代码:if(l1==NULL) { return l2; } else if(l2==NULL) { return l1; } else { ListNode*l3=l1; while(l1->next!=NULL&&l2->next!=NUL...

2020-03-10 22:33:12 63

原创 环形链表

C++代码:if(head==NULL) { return false; } else { ListNode*fast=head; ListNode*slow=head; while(fast!=NULL&&fast->next!=NULL) { ...

2020-03-09 21:29:21 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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