自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (3)
  • 收藏
  • 关注

原创 mysql无法启动问题

今天网站突然登不上了,发现是数据库的问题。于是开启了今天艰难的找问题之旅。输入 mysql -root -p登录时,会出现:[mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)然后service mysqld start 重启...

2019-03-05 20:34:27 204

原创 anaconda库安装PIL出现UnsatisfiableError问题

今天使用anaconda库安装PIL时出现:查看了下信息,是因为PIL最多支持到python2.7:一些资料说要分别为不同版本的python建立环境,但是感觉并不能解决问题……在这里看到针对python3,在PIL的基础上创建了兼容的版本,名字叫Pillow。于是安装pillow$ conda install pillow...

2019-03-05 16:49:00 929

原创 Mac Pycharm+anaconda+tensorflow环境搭建以及遇到的坑

环境:macOS 10.14python系统自带2.7以及自己安装的3.7安装anaconda在官网下载,按照步骤操作即可,下载地址安装Tensorflow建立一个 conda 计算环境,命令行输入:$ conda create -n tensorflow python=3.7激活tensorflow环境$ source activate tensorflow安装$ pip...

2019-03-05 14:54:16 4437 3

原创 刷题(未放入)

23. Merge k Sorted Lists解法一:每次轮流查找k个链表当前指针的最小值加入到新的链表中,最小值的链表指针向后移位;假设有k个链表,每个长度为n,那么每次查找最小值O(k),对每个节点都要查找一次,所以时间复杂度是O(nk^2)。空间复杂度是O(nk)。解法二:类似于归并排序,两两结合第一次合并进行了k/2次,每次2n个节点,第二次进行k/4次,每次4n个节点,以此...

2019-03-03 18:24:14 103

原创 pycharm安装pynlpir的License过期问题

在pycharm中安装了包pynlpir进行分词,使用时报错:pynlpir.LicenseError: Your license appears to have expired. Try running "pynlpir update".原因:pynlpir授权过期解决:1)到github上下载最新的NLPIR.user,下载网址2)找到项目的pynlpir包里面的NLPIR.use...

2019-02-27 17:30:43 957 6

原创 leetcode 数组2

41. First Missing Positive难点:如何在O(n)的时间和常数额外空间内完成思路:只有常数额外空间,因此就需要在当前数组上操作。1)只需要在数组i处保存值为i+1的数字。(原因是:大小超过数组个数的数字不需要看了,因为一定不满足条件;保存i+1的原因是因为只看大于0的数。)2)然后再遍历一遍数组找不符合条件的数就可以了思路和“求数组中反复的某一个元素。要求时间性能...

2019-02-22 11:13:55 147

原创 leetcode Combination Sum I II 递归/非递归

39. Combination Sum方法一 回溯:思路参考bool backtrack(vector<vector<int>> &out,vector<int> tmp,vector<int&

2019-02-22 09:56:58 215

原创 leetcode 数组

11. Container With Most Water在数组的头尾均设置一个指针,设置max变量记录当前的最大容量;计算完一次后移动一个指针,木桶原理是容积取决于行长度和最短高度的积,因此每次移动短的指针,因为如果移动长的指针那么容量可能变小。直到两个指针相遇。int maxArea(vector<int>&amp

2019-02-19 14:09:00 230

原创 leetcode 贪心算法 集合

44. Wildcard Matching模糊匹配问题思路很简单:从头开始匹配,遇到“*”就在字符串s中继续找能够匹配字符串p的下一个字符的字符,同时需要记住当前星号的位置,以便回溯。bool isMatch(string s, string p) { int sl=s.size(),pl=p.size(); int i=0,j=0; int lasts=-1,las...

2019-02-18 18:09:59 397

原创 贪心算法

贪心算法概念:贪心算法是指在在对问题进行求解时,“贪婪”的选择当前这一步的最优解,希望从而产生一个全局最优解。算法的关键:选择合适的“贪婪”策略。结果:贪心算法产生的结果并不一定都是最优的结果,需要进行判断,常会用到数学的证明方式。这是贪心算法的局限性之一。一些不能求解的问题可以使用动态规划来解决,例如背包问题。步骤:1)将问题分解为小问题2)根据小问题选择合适的策略(关键)3)由局部...

2019-02-18 17:07:01 151

原创 leetcode Jump Game I II

Jump Game思路:若数组的第k个点能到达,则第k-1个点也一定能够到达,因此我们可以遍历数组,找到不能到达的点就返回falsebool canJump(vector<int>& nums) { if(nums.size()==0) return false; if(nums.size()==1) return tru

2019-01-23 14:48:28 129

原创 leetcode Best Time to Buy and Sell Stock I II III IV

Best Time to Buy and Sell Stock遍历一次数组,记录最小值,每次计算与最小值之间的差值为利润,最后选取利润最大的。int INF=0x7ffffffe;int maxProfit(vector<int>& prices) { int min=INF; int profit=0; int tmp; for (...

2019-01-23 14:18:37 210

原创 分治法:棋盘覆盖问题

1、 分治法摘自中科大算法导论课程资料 :当求解的问题较复杂或规模较大时,不能立刻得到原问题的解,但这些问题本身具有这样的特点,它可以分解为若干个与原问题性质相类似的子问题,而这些子问题较简单可方便得到它们的解,因此通过合并这些子问题的解就可得到原问题的解。2、思路:1)将问题分解为规模更小的子问题;2)解决这些子问题;3)将已解决的子问题合并,求出原问题的解。3、经典例子:快...

2019-01-17 16:40:54 768

原创 【背包问题】恰好装满

前面总结了背包问题的三种情况还有一种问题:要求背包恰好装满的情况。在对二维数组初始化时:1)v[0][0]初始化为02)第一行和第一列的其他值都设为-INF(未装满的状态)原因:1)占用空间为0的物品刚好可以装满空间为0的背包2)只有上一层恰好装满时,使用状态方程得到的下一层才能是正好装满,因此初始值设为-INF,即上一层未装满时,下一层加入a[i]结果仍然是-INF即未装满。同样...

2019-01-06 14:50:50 5412 1

原创 【背包问题】01背包 多重背包 完全背包

01背包0-1背包问题是指每一种物品都只有一件,可以选择放或者不放。方法一V(i,j)表示前i种物品恰放入一个容量为j的背包的最大价值,因此状态转移方程:j<w(i) V(i,j)=V(i-1,j)j>=w(i) V(i,j)=max{ V(i-1,j),V(i-1,j-w(i))+v(i) } for(int i = 0; i <= ...

2019-01-06 14:40:13 904 1

原创 判断链表是否为回文结构

给定一个链表的头节点 head,请判断该链表是否为回文(正反结构相同)结构。如果链表长度为 N,时间复杂度达到 O(N),额外空间复杂度达到 O(1)。参考:《程序员代码面试指南》解法一放入栈,时间复杂度O(n),空间复杂度O(n)bool isPalindrome1(Node *head){ stack<Node> s; Node *cur = head;...

2019-01-02 17:05:24 139

原创 leetcode 动态规划题

5 Longest Palindromic Substring网址:https://leetcode.com/problems/longest-palindromic-substring/submissions/思路一:暴力破解O(n^3)思路二:动态规划时间复杂度:O(n^2), 空间复杂度:O( n ^ 2)动态转移方程:if i == j,dp[i, j] = 1if i =...

2018-12-24 15:50:15 162

原创 leetcode 78 Subset

思路一:回溯回溯,类似深度优先搜索,实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。void dfs(vector<int>& nums, int pos, vector<int>& path, vector<vector<int>>& resu...

2018-12-19 16:37:54 203

原创 计算数组中的逆序对

有一个由N个实数构成的数组,如果一对元素A[i]和A[j]是倒序的,即i<j但是A[i]>A[j]则称它们是一个倒置,设计一个计算该数组中所有倒置数量的算法。要求算法复杂度为O(nlogn)暴力求解思路:循环从数组中取出一个元素k,然后从k之后的元素中找到比k小的元素个数,最后统计所有的个数即为排列中逆序对的数目。时间复杂度: O(n^2)修改归并排序前提知识:归并排序...

2018-12-18 21:15:35 1642

原创 动态规划

记录一下动态规划的学习动态规划(Dynamic Programming,简称DP),是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法,算法的核心就是记住已经解决过的子问题的解。三个重要概念1、最优子结构如果一个问题的解结构包含其子问题的最优解,就称此问题具有最优子结构性质。某个问题是否适合应用动态规划算法,它是否具有最优子结构性质是一个很好的线索。2、边界例如斐波那契数...

2018-12-17 15:37:15 145

空空如也

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

TA关注的人

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