
100天
码农凯凯
看我学渣奋起直追之路
展开
-
秋招准备100天---02
换钱的最小货币数给定一个target,代表钱,再给一个数组money,代表货币种类,比如有【1,2,5,10】,把target换成零钱,最少的货币数。如果不能把钱找开,则返回-1,taget = 0 ,返回0;方法1: 第一感觉是用贪心算法做。int minMoney(vector<int>& money,int target) { if (target...原创 2019-05-19 11:45:18 · 185 阅读 · 0 评论 -
秋招准备100天---05
算法题最长递增子序列给定一个序列,返回最长递增子序列,这里是序列不是子数组。方法1:DP.dp[i]表示以第i个数作为结尾,递增序列个数,res数组保存当前情况下最长序列。dp[i] = max(dp[j]+1).其中,j为小于i的并且nums[j]<nums[j]vector<int> max_seq(vector<int> &nu...原创 2019-05-23 11:47:10 · 135 阅读 · 0 评论 -
秋招准备100天---01
日期:2019.5.17 星期五 多云今天只看了一些算法题,C++还有深度学习都没有看,该打。。。。没完成任务斐波那契数列题目及扩展对于一些问题类似于斐波那契数列的,可以写成f(n) = f(n-1) + f(n-2)之类的递推式,是可以有三种解题思路的。最简单的就是直接套公式,时间复杂度都是O(2^N)第二种就是循环遍历,(比如f(1) = 1,f(2) = 1,那么令a = ...原创 2019-05-17 22:28:57 · 199 阅读 · 0 评论 -
秋招准备100天---09
算法题数字字符串转换为字母字符串题目描述:有一个字符串,里面字符全部是数字,当一个字符或者相邻字符组合,大小在1-26之间,就认为可以替换成字母,比如说1可以替换成A,26可以替换成Z,0不可以替换,返回0;但是10,20都是正确的。计算出字符串有多少种转换结果。方法1:递归。dp[i]表示以str[i-1]为结尾,转换结果数,那么如果str[i-1]不为0,那么dp[i] +...原创 2019-05-27 10:29:54 · 289 阅读 · 0 评论 -
秋招准备100天---08
设计模式抽象工厂模式和工厂模式区别:工厂模式一个工厂类只能创建一个具体产品,但是有时候产品分族,这时候适合抽象工厂模式。例子:抽象工厂模式简单工厂,工厂模式,抽象工厂模式比较简单工厂:优点:根据参数不同,就创建不同实例,实现简单;缺点:增加一类就会修改工厂类,不符合开闭原则;工厂类集中了所有实例创建逻辑,不适合单一职责原则。工厂方法模式:优点:改正了简单工厂的开闭原则。缺点:...原创 2019-05-27 10:28:27 · 254 阅读 · 0 评论 -
秋招准备100天---07
算法题最长公共子序列给两个字符串,求出最长公共子序列,输出字符串。//得到公共长度二维数组void longest_seq(string str1,string str2,vector<vector<int>>& dp) { int m = str1.size(),n = str2.size(); //vector<vector&...原创 2019-05-25 13:21:30 · 184 阅读 · 0 评论 -
秋招准备100天---06
大话设计模式迪米特法则耦合的方式很多,比如组合,聚合,依赖,关联。在类中的成员变量,函数参数,函数返回值如果是某一个类的对象,则这些类称为直接的朋友,但是如果是函数内部局部变量是某个类对象则不是直接的朋友。迪米特法则是说尽量减少这种在函数内的声明其他陌生类对象。迪米特法则:只与直接的朋友通信。也叫做最少知识原则。目的:减少类之间的耦合。当两个类不是直接的朋友关系,那么不要...原创 2019-05-25 13:21:00 · 196 阅读 · 0 评论 -
秋招准备100天---04
呜呜呜~~~~~ 今天还是没有完成任务,每天都玩的太多,还是没有有压力。《大话设计模式》策略模式策略模式:一般都是有一个策略基类,派生类都是各种不同的策略算法。这些算法完成的都是相同的工作,只是实现不同。简单来说,策略模式就是来封装算法的,只要在实际开发过程中,碰到在不同场景下运用不同的算法,就可以用策略模式。例子:超市收银台结算,有时候是原价,有时候打折,有时候满100减20,很多...原创 2019-05-21 09:33:51 · 124 阅读 · 0 评论 -
秋招准备100天---03
设计模式今天开始看了《大话设计模式》。接口问题:在C++中没有接口这个定义,接口实现一般都是抽象类。抽象类和接口的不同点:接口没有成员变量,都是函数声明,函数一般都被声明为纯虚函数。 而抽象类一般含有成员变量的。 接口是对函数的抽象,抽象类是对类的抽象。 它们俩都不能实例化。代码重构思路,在写代码过程中,随着项目的深入,可能代码结构之类的有更好的设计,那么在不改变功能的情况下,改变代码设...原创 2019-05-20 20:49:56 · 141 阅读 · 0 评论 -
秋招准备100天---10
设计模式命令模式本来可以将命令作为一个抽象类,每个命令写成一个具体类,然后客户端直接调用具体命令类。对于命令模式,大家可能 心存疑虑,明明是一个很简单的调用逻辑,为什么要做如此的复杂,为什么不直接reciver的excute方法就可以实现功能?调用逻辑复杂,是为了如果后续命令的增加, 能够应对后续需求的变化。简单的只是开发起来方便,但对后续的维护则是困难。除此之外,使用命令模式的另一个好...原创 2019-05-28 19:49:31 · 425 阅读 · 1 评论