自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liukcqu的博客

计算机学渣奋起直追之路

  • 博客(91)
  • 资源 (3)
  • 收藏
  • 关注

原创 秋招准备100天---10

设计模式命令模式本来可以将命令作为一个抽象类,每个命令写成一个具体类,然后客户端直接调用具体命令类。对于命令模式,大家可能 心存疑虑,明明是一个很简单的调用逻辑,为什么要做如此的复杂,为什么不直接reciver的excute方法就可以实现功能?调用逻辑复杂,是为了如果后续命令的增加, 能够应对后续需求的变化。简单的只是开发起来方便,但对后续的维护则是困难。除此之外,使用命令模式的另一个好...

2019-05-28 19:49:31 379 1

原创 秋招准备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 237

原创 秋招准备100天---08

设计模式抽象工厂模式和工厂模式区别:工厂模式一个工厂类只能创建一个具体产品,但是有时候产品分族,这时候适合抽象工厂模式。例子:抽象工厂模式简单工厂,工厂模式,抽象工厂模式比较简单工厂:优点:根据参数不同,就创建不同实例,实现简单;缺点:增加一类就会修改工厂类,不符合开闭原则;工厂类集中了所有实例创建逻辑,不适合单一职责原则。工厂方法模式:优点:改正了简单工厂的开闭原则。缺点:...

2019-05-27 10:28:27 203

原创 秋招准备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 148

原创 秋招准备100天---06

大话设计模式迪米特法则耦合的方式很多,比如组合,聚合,依赖,关联。在类中的成员变量,函数参数,函数返回值如果是某一个类的对象,则这些类称为直接的朋友,但是如果是函数内部局部变量是某个类对象则不是直接的朋友。迪米特法则是说尽量减少这种在函数内的声明其他陌生类对象。迪米特法则:只与直接的朋友通信。也叫做最少知识原则。目的:减少类之间的耦合。当两个类不是直接的朋友关系,那么不要...

2019-05-25 13:21:00 158

原创 秋招准备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 110

原创 秋招准备100天---04

呜呜呜~~~~~ 今天还是没有完成任务,每天都玩的太多,还是没有有压力。《大话设计模式》策略模式策略模式:一般都是有一个策略基类,派生类都是各种不同的策略算法。这些算法完成的都是相同的工作,只是实现不同。简单来说,策略模式就是来封装算法的,只要在实际开发过程中,碰到在不同场景下运用不同的算法,就可以用策略模式。例子:超市收银台结算,有时候是原价,有时候打折,有时候满100减20,很多...

2019-05-21 09:33:51 99

原创 秋招准备100天---03

设计模式今天开始看了《大话设计模式》。接口问题:在C++中没有接口这个定义,接口实现一般都是抽象类。抽象类和接口的不同点:接口没有成员变量,都是函数声明,函数一般都被声明为纯虚函数。 而抽象类一般含有成员变量的。 接口是对函数的抽象,抽象类是对类的抽象。 它们俩都不能实例化。代码重构思路,在写代码过程中,随着项目的深入,可能代码结构之类的有更好的设计,那么在不改变功能的情况下,改变代码设...

2019-05-20 20:49:56 113

原创 秋招准备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 145

原创 秋招准备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 170

原创 LeetCode贪心题目合集

860.Lemonade Change思路:每次判断收到的钱是5,10,还是20;用five和ten记录拥有的5元和10元个数,如果是5,那么直接five++,如果是10,那么ten++,five–(判断有没有5),如果20,判断有没有10,两种情况。 bool lemonadeChange(vector&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;int&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a

2018-10-24 19:57:46 2278

原创 tensorflow踩坑合集

tensorflow踩坑合集E tensorflow/stream_executor/cuda/cuda_dnn.cc:343] ** Loaded runtime CuDNN library: 7.0.5 but source was compiled with: 7.2.1. ** CuDNN library major and minor version needs to match ...

2018-10-22 14:08:21 857

原创 Leetcode中股票问题合集

Best Time to Buy and Sell Stock II 思路:这道题用到了贪心算法。从第二天开始,只要比前一天大,那说明就挣钱,那么就前一天买今天卖,挣差价。int maxProfit(vector&amp;amp;amp;amp;amp;lt;int&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp; prices) { int res = 0; int n = prices.si

2018-09-06 16:20:42 2644

原创 LeetCode中动态规划题解合集(根据难易程度))

121.Best Time to Buy and Sell Stock 思路:遍历数组,找到当前位置之前最小的数,然后选择当前买入差值和之前最大值之间的最大值。 int maxProfit(vector&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;int&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;

2018-08-09 23:22:05 17557 2

原创 leetcode哈希表hash table集合

1.two sumvector&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;int&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; twoSum(vector&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;int&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;

2018-07-14 13:36:48 456

原创 leetcode中回溯题集合

77.Combinations 思路:终止和收敛条件是判断out中的个数达到k。图解请详见博客题解。 vector&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;vector&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;int&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;a

2018-07-09 13:35:24 669

原创 LeetCode40-49题解

46.Permutations 思路:很明显,要用DFS。vector&amp;amp;amp;lt;vector&amp;amp;amp;lt;int&amp;amp;amp;gt;&amp;amp;amp;gt; permute(vector&amp;amp;amp;lt;int&amp;amp;amp;gt;&amp;amp;amp;amp; nums) { vector&amp;amp;amp;lt;int&amp

2018-07-06 01:16:47 211

原创 LeetCode41-49

43.Multiply Strings 思路:就是按照我们手算乘法的步骤来解决的,可以看下图,要注意一点下标的标记。 string multiply(string num1, string num2) { int n1 = num1.size(); int n2 = num2.size(); vector&lt;int&gt; temp(n1...

2018-07-05 23:10:24 230

原创 Python中对象可以添加属性

转载Python 类对象与实例对象源码分析 当我在看cifar10_input.py文件中read_cifar10方法时,出现了result对象,进行属性赋值result.height = size,但是result是一个object对象,没有height属性,看到上面那个帖子才明白原因。def read_cifar10(filename_queue): class CIFA...

2018-06-28 23:02:27 3239

原创 leetcode 30-39

32.Longest Valid Parentheses 思路1:最长有效字符串。用stack存储栈顶的Index,start记录有效字符串开始位置。如果是’(‘,入栈,如果是’)’,判断stack是否为空,如果为空,说明’)’是第一个字符,有效字符串一定不是从这个字符开始的,则start+1;不为空的话,则stack.pop(),如果stack为空,则取res和i - start + 1 的最...

2018-06-12 10:44:26 458

原创 Python投影法

实现字符分割,用投影法显示,每列像素个数。import cv2import numpy as npimg = cv2.imread('demo1.jpg',0)height,width = img.shapethres,binary = cv2.threshold(img,0,255,cv2.THRESH_OTSU + cv2.THRESH_BINARY_INV)cv2.ims...

2018-04-27 13:30:36 3313

原创 leetcode21-30

21 Merge Two Sorted Lists 思路:新建一个链表,比较l1和l2中的值,哪个小就把它加到新的链表中去,最后总会有一个链表先到尾部,那么直接把剩下的链表接到新链表尾部就可以啦,注意链表为空问题判断,必须先初始化。 ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode temp(0)...

2018-04-24 11:35:09 121

原创 霍夫变换原理及实现

霍夫变换是图像处理必然接触到的一个算法,为了检测出来直线和圆,椭圆之类的形状。 比较好的教程霍夫变换原理 霍夫变换实现步骤:import cv2import numpy as npdef hough_detectline(img): thetas=np.deg2rad(np.arange(0,180)) row,cols=img.shape diag_le...

2018-04-11 12:56:28 4644

原创 TensorFlow滑动平均模型作用

在TensorFlow中经常会提到滑动平均模型,目的是为了控制变量更新的速度,防止变量的突然变化对变量的整体影响。 TensorFlow下的 tf.train.ExponentialMovingAverage 需要提供一个衰减率decay。该衰减率用于控制模型更新的速度。该衰减率用于控制模型更新的速度,ExponentialMovingAverage 对每一个待更新的变量(variable)都会...

2018-04-04 12:48:09 2253 6

原创 leetcode11-20

11.Container With Most Water 思路1:暴力搜索,每两个line计算一次area,选择最大的那个。但是超时。 int maxArea(vector&lt;int&gt;&amp; height) { int size = height.size(); if (size &lt; 2) return 0; int w...

2018-03-29 21:02:45 244

原创 DP之钢管切割,最长回文字符串,最长公共子串

在做LeetCode第3题的时候,用到了DP,但是自己对DP还是不了解,所以翻开算法导论,开始看动态规划喽,学好动态规划,走遍天下都不怕。钢管切割 对于一根长n米的钢管,每个长度的价格不一样,对于长i米的钢管,价格为p[i],价格表如下所示: 现在问题是,给你一根长为n的钢管,你怎么切割,使得最后总价格最高。 比如:长度为4米的钢管,我们有8种方案,也就是对应着中间3段切不切的排列...

2018-03-08 13:16:24 309

原创 快排+堆排序

3.6 快排 其实就是记住算法导论中的步骤,最坏情况就是排好序的,不管是正序还是倒序,情况都是最坏O(n^2).int partition(int a[],int p,int r) { int x = a[r]; int i = p - 1; for (int j = p; j &lt; r ; j++) { if (a[j] &lt; x) { ...

2018-03-07 00:05:40 243

原创 C++调用python(VS2015)

新建win32控制台程序call_pypython配置注意右上角配置(选择release还是debug,还有平台),这里选的什么,运行的时候就选什么。编写代码#include&lt;Python.h&gt;//前面所做的一切配置都是为了调用这个头文件和相关库#include&lt;iostream&gt;using namespace std;int main() { ...

2018-03-06 21:56:35 2858

原创 LeetCode 1-10代码参考

1.Two Sum 思路:见solution vector&lt;int&gt; twoSum(vector&lt;int&gt;&amp; nums, int target) { for (int i = 0;i &lt; nums.size(); i++) { for (int j = i + 1; j &lt; nums.size(); j+...

2018-03-05 10:30:09 365

原创 新学期新气象

度过了无聊的春节假期,今天也正式回到实验室,在家这一个月电脑都没有打开,更不要说更新算法啦。惭愧呀,自己现在总是缺少高四的坚持和自控力,也知道怎么做是最好的,怎么做是不好的,但是总没有动力,有时候特别讨厌现在的自己,不知道自己什么时候才能改变自己,只有感动了自己才能提高自己,做回自己喜欢的模样。今天继续算法导论,且行且珍惜,且行且努力。...

2018-03-04 16:50:26 498

原创 1D1A:冒泡排序(3)

《算法导论》中的习题中,讲到了冒泡排序:是一种流行但是低效的排序方式,他的作用是反复交换相邻的未按次序排列的元素。 伪代码(Python):def bubbleSort(lists): length = len(lists) for i in range(length-1): for j in range(length-1-i):

2018-01-27 13:55:13 286

原创 1D1A:1 插入排序

算法导论第一个算法就是插入排序,思想简单,如果是从小到大排序,就是从第二个数开始,和前边的数比较,直到大于等于前边那一个数,然后放在那个位置。 而且,先用Python写,就相当于伪代码,特别好,既有思路,还把Python练习一下,然后再用C++。 Python代码:def insertSort(A): for i in range(1,len(A)): key = A[i

2018-01-26 16:00:09 236

原创 LeetCode error

1.runtime error 一定是内存溢出,也就是数组,vector之类的越界了,80%以上都是这个问题。 2.time limited 超时。

2018-01-25 13:20:03 851

原创 CLion配置好openCV后图片读取路径问题

CLion配置openCV CLion配置好openCV后,把图片放在项目路径下 然后在代码中: int main() { Mat srcImage = imread("lena.jpg"); imshow("[img]", srcImage); waitKey(0); return 0; } 读取不到,只有换成绝对路径,才可以,那么就说明...

2018-01-21 13:15:30 1867 2

原创 LeetCode Easy排序前50道题

771 Jewels and Stones int numJewelsInStones(string J, string S) { int count = 0; for (char c : J) { for (char s : S) { if (c == s) count++; ...

2018-01-08 19:59:12 844

原创 Ubuntu总是提示Oracle JDK8 not install解决方案

1.sudo apt-get update 2.sudo add-apt-respository ppa:webupd8team/java 3.sudo apt-get update 4.sudo apt-get install oracle-java8-installer完美解决!

2018-01-07 16:21:50 2937 2

原创 详解添加OpenCV_contrib库至OpenCV3.2.0中

可执行文件直接安装的OpenCV3.2,并没有surf之类的函数,这些函数都在另外一个模块OpenCV——contrib中,所以我们需要下载OpenCV3.2+OpenCV_contrib模块,进行编译,将contrib库编译到OpenCV中。具体的就是看MICHAEL_LIU博客 我跟着上述博客走,一路绿灯,但是生成解决方案时,失败5个,自己又清理解决方案,重新生成解决方案,运行了4个小时,还是

2018-01-02 22:35:36 1036 1

原创 python实现Google翻译PDF,解决换行问题

首先,参考三思而后学的博客,感谢! 我们复制PDF到Google翻译时,总是会出现换行的情况,如果自己手动去除,那就太麻烦了。 那么用Python就可以解决,复制到粘贴板以后,Python程序自动可以把\n换成空格,然后我们就可以复制到Google翻译中去 代码:import pyperclipimport timeimport webbrowsercopyBuff=' 'while

2017-12-26 22:22:24 4410

原创 《TensorFlow:实战google深度学习框架》代码错误_第五章MNIST

交叉熵函数参数改变,所以需要改一下, 改正cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y,labels=tf.argmax(y_,1))

2017-10-31 21:55:41 2078

原创 python中'zip' is not subscriptable

原因就是在Python3中,zip()返回值变了,Python2中zip()返回一个元组列表,但是Python3中返回一个迭代器,所以需要list(zip())返回一个列表。

2017-10-27 22:34:53 2133

anaconda+python3.5

由于官网提供的anaconda都是python3.6的,在配置TensorFlow的时候很麻烦,还要新建一个python3.5的环境,所以搞了很久才弄好,现在用这个默认python3.5,就没有那些问题啦!上传的是一个百度云盘链接

2017-10-20

网管员典藏书架 网络管理与运维实战宝典 ,王灵霞,刘永纯编著 ,P483 ,2016.07

扫描版,很清晰。90M上传不了,所以上传了一个百度云盘链接,请大家自行下载。

2017-10-20

网管员典藏书架 网络管理与运维实战宝典 ,王灵霞,刘永纯编著

电子版,很清晰,90M,但是资源太大,上传不了,所以文件为百度网盘链接。

2017-10-20

空空如也

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

TA关注的人

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