昨儿浪了一天,今儿继续开始学习,日常LEETCODE,嘤嘤嘤竟然发现自己爱上了leetcode可真是神奇哦!当然还是有一堆题不会做,比如今天这道题……三数之和……研究怎么输出答案就研究了半天哈哈哈哈哈,最后参照了CSDN、博客园和别人的大男输出部分,才写出来的!代码的主体功能已经实现了,但是因为指针瞎指导致的溢出问题,我没有继续写下去,还有一部分功能就是删除重复的答案,这个也比较简单……但是de不出来!!

算求了!

再费时间不值得了,学学别人的好啦!

我的思路就是先排序,再使用三个指针其实好像只用一个就行了,一个头一个尾,一个中间,保证三个指针不冲突就好。然后指定初始位置,三数之和分三类,每一大类中根据收指针之和分两类,注意的是每执行一次判断就要移动一下指针,防止矛盾!

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {  vector<vector<int>> ans; vector<int> v;int *p;int *q;int *m;sort(nums.begin(),nums.end());int n=nums.size();if(n<3)return ans;else{*p=nums[0];*q=nums[n-1];*m=nums[1];if(nums[0]+nums[n-1]<0||nums[0]+nums[n-1]>0)return ans;else {while(p<q){if(*p+*q+*m>0){if(*p+*q>0){q--;}else m++;}else if(*p+*q+*m<0){ if(*p+*q<0){p++;m++;}else m++;}else if(*p+*q+*m==0){v.push_back(*p);v.push_back(*m);v.push_back(*q);ans.push_back(v);p++;m=++p;} else if(m==q){m=++p;p++;}}}}return ans;}
};

还有之前不会的就是[ [1,0,-1],[-2,1,1] ]这种形式的vector,也是百度才知道怎么用,首先是定义vector<vector<int>> ans,后面又定义了vector<int>v,目的是先将指针内容放进v中,再将一组v放进ans中,是不是很神奇??

哈哈哈反正我这个也没写完,学习一下大佬的代码吧!

代码出处:https://blog.csdn.net/free_dom_/article/details/89317499


class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {vector<vector<int> > result;if(nums.size()<3)return result;sort(nums.begin(),nums.end());map<int,int> m;set<vector<int> > se;int minNum=nums[0],maxNum=nums[0];for(int i=0;i<nums.size();i++){minNum=min(minNum,nums[i]);maxNum=max(maxNum,nums[i]);m[nums[i]]=i;}if(maxNum==minNum){if(minNum==0){vector<int> t;t.push_back(0);t.push_back(0);t.push_back(0);result.push_back(t);}return result;}if(maxNum<0||minNum>0){return result;}map<int,int>::iterator it;for(int i=0;i<nums.size();i++){for(int j=i+1;j<nums.size();j++){if(i<j){if(nums[i]+nums[j]+minNum>0||nums[i]+nums[j]+maxNum<0){continue;}it=m.find(-(nums[i]+nums[j]));if(it!=m.end()&&it->second>j){vector<int> t;t.push_back(nums[i]);t.push_back(nums[j]);t.push_back(it->first);se.insert(t);}}}}set<vector<int> >::iterator sit=se.begin();for(;sit!=se.end();sit++){result.push_back(*sit);}return result;}

SPC二值化分割法

就是利用统计学原理中的正态分布,这个式子,μ是灰度平均值,k自己选,是灰度标准差,这样挑选的阈值是一个有上下限的阈值,更具有灵活性。

最小外接矩形

https://blog.csdn.net/abc8730866/article/details/68944241

随机森林

https://www.cnblogs.com/maybe2030/p/4585705.html

参考的这篇文章……又把关于机器学习的基础知识过了一遍,奇怪的是没有提到过这个随机森林……就专门查了一下,了解一条,体会一下,感受一下。

Random Forest,简称RF。随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。优缺点什么的现在就讨论还为时过早,毕竟要真正遇到问题时候才可以对症下药。详见上面的链接哈哈哈。

集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测。就好比大家用不同方法做这一道题,9个人做出来是1,一个人是2那答案就有90%的概率是2啦!这也就是集成学习的优点之一——准确率高!

值得考虑的是每棵树的生成,文章里提到每棵树都是随机且有放回的选择部分样本,且每棵树最大自由度的自由生长,没有剪枝过程。这样能够使得树之间的相关性最低,以此来降低错误率。

袋外错误率oob error(out-of-bag error),是很重要的无偏估计。就是每棵树选中的样本以外的样本称为这棵树的袋外(oob)样本。oob计算思路就是选择一棵树,计算它成为袋外样本时的预测结果,少数服从多数,即多数情况下的预测成果视为真值,其余的为错误之,计算错误时候所占的比率,它的结果近似于需要大量计算的k折交叉验证。

那随机森林和树的最大差别是什么呢?百度吧,姐妹!

我查了一下,就是树是一个一个特征进行处理,是用树的结构来构建分类模型,每个节点代表着一个属性。而决策树是对每个训练集构建一棵决策树,在特征中随机抽取一部分特征,在抽到的特征中找到最优解,应用到节点进行分类。就好比决策树要找出439中最厉害的人物,大树说我要找最聪明的作为最优解,我觉得是包子的大猪蹄厉害!森林说我要找最帅的、在找最聪明的!于是森林里的两棵树就找啊找,发现最帅的是大猪蹄,最聪明的也是大猪蹄,所以得出结论:439最厉害的就是大猪蹄!!

代码看了一些,唉,看不懂哦!再说~~

2019-04-26周五宁波和杭州都下雨了,晚饭的鱼粉好大份哦,这是我第一次吃鱼粉!Hhhhhhhh下雨了就给吃点面才暖和,辛苦快递小哥哥了呀,其实这家店就在食堂我看见很多次了懒得买,外卖好像更便宜!相关推荐

  1. 2019.04.26 mongaodb

    打开服务  mongod.exe --dbpath E:\Develop\mongodb_64\data\db 在安装和打开服务之前要建一个db  文件的存储位置 然后打开服务 打开服务之后  打开图 ...

  2. 寄快递才半价,快递小哥揭秘小程序寄快递这么便宜的秘密

    许多小伙伴都面临过运费保险无法覆盖退货运费的问题吧,那是因为你没有用优惠快递找到办法. 目前,电子商务商家可以通过每天稳定的交货量与快递公司讨论价格,开立月结算账号,每月享受一定数量的最低价格,所以网 ...

  3. 过年想网购不用愁,苏宁快递小哥这个春节不打烊!

    春节将至,现在大家手头上的工作是不是异常的多?别说抽空去买年货,有的时候能够准时下班就已经是谢天谢地了!幸亏现在的科技够发达,在闲暇时刻,大家都能用手机或电脑进行购物,让快递小哥直接把年货送到家,超级 ...

  4. 双11过后张勇感谢快递小哥:再大的纪录都是靠大协作来完成的

    11月13日消息,双11过后,阿里巴巴集团董事局主席兼CEO张勇在12日夜晚赶往中通.圆通.韵达.申通等快递公司,专程向快递小哥致谢,"感谢全国300多万物流人,大家创造了新的世界物流高峰. ...

  5. 程序员小哥哥晒的生日蛋糕,看不出多少岁的都是假程序员!

    01 国外程序员小哥哥 theboxislost 晒的生日蛋糕-- 猜猜多少岁? 程序员神评论: @雪:可惜最多只能活255岁. @init:00011101 16+13=29 不知道对不对 02 上 ...

  6. 你的每个哈欠老板都知道!被AI摄像头全天盯紧,亚马逊快递小哥不干了

    来源:大数据文摘本文约1900字,建议阅读8分钟此举引起了政府关注,五位美国参议员写信给亚马逊寻求解释. 一名亚马逊快递小哥的辞职刚刚在reddit引发热议. 辞职原因很简单,这位已经在亚马逊送了三年 ...

  7. 用devc++表白_表白 | 大三,女,想找一个长得帅的175以上的小哥哥谈恋爱

    『表白置顶』 戏要演就演全套的好么?一面说还是做好朋友吧快快乐乐一面对我不冷不淡拉开距离惜字如金爱搭不理,一面说我不是那种"喜欢"你了只是朋友间的喜欢了一面要求我甩甩脑喝脑残水儿忘 ...

  8. 那些年,你与快递小哥的爱恨情仇...

    双十一刚刚过去,双十二还会远吗?是时候吃午饭了.... 饭后谈资呢,今天我们就来说一说你与快递小哥那些年的爱恨情仇... 1 收件人名字改成"大明湖畔的夏雨荷",听快递员在校门口人 ...

  9. 训练日志 2019.1.26

    上午补了道 2-sat 的题,这类问题还是不太熟练,不是很能准确的找到条件 下午打比赛,立的 flag 成功崩了...数组没开小但把精度爆了..+= 把 + 忘了...一道巨水的题把输入看错了...大 ...

  10. 韩国小哥哥用Pytorch实现谷歌最强NLP预训练模型BERT | 代码

    乾明 编译整理自 GitHub  量子位 报道 | 公众号 QbitAI 新鲜代码,还热乎着呢. 前几天,谷歌发布了一篇论文,介绍了一个超强的NLP预训练模型BERT. 不仅在SQuAD中摧枯拉朽,全 ...

最新文章

  1. c++强大还是python强大-2020,你该学习Python还是C++
  2. 剑指offer:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,..,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]
  3. 远程连接mysql数据库,1130问题
  4. 用Visual Studio 2019连接 WSL来编译调试C/C++项目
  5. spring事务和mysql的隔离级别
  6. mac sublime java_Mac环境下使用SublimeText写Java代码
  7. token令牌防止重复提交
  8. js对象合并属性_深入 JS 对象属性
  9. oracle表内连接和外连接
  10. linux DSA 开发上手笔记(一)
  11. JavaScript设计模式:四、发布订阅模式
  12. VS.NET(C#)-5.18_IIS6架构模型:工作进程(Worker Process)简介
  13. cmd命令打开文本文档_win7定时关机命令 【处置技巧】
  14. pandoc 使用方法
  15. sprd9820 来电归属地
  16. android键盘坏了怎么办,手机虚拟键盘失灵怎么办
  17. NoteExpress引用文献出现ADDIN NE.Ref.
  18. python入门(四)小康小白
  19. 2020年全球及中国动物模型(模式动物)行业发展现状及竞争格局分析,行业增速较快,发展前景良好「图」
  20. [2012黑莓赛]黑莓BB10程序开发 [大二THS_201]

热门文章

  1. 微信公众号的黑色商业链揭秘
  2. VBA 对 range() 或 cells() 的内容格式的修改, 如 range.address(0,0) cells().formulaR1C1
  3. WebMvcConfigurerAdapter已被废弃的解决方法
  4. 机器视觉硬件之光源选型以及打光技巧
  5. 机顶盒ttl无法输入_中兴机顶盒B8601.1T TTL后跑码无法输入指令
  6. 学生用计算机cf82es,计算器(fx-82ES)玩得好是可以很变态的(必看)(6页)-原创力文档...
  7. Visual reasoning
  8. 指数随机变量 泊松过程跳_泊松过程
  9. Python绘制箱形图全解
  10. 2014年牡丹江现场赛打铁记