自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SYSU_qsh的博客

我也有自己的博客了

  • 博客(37)
  • 收藏
  • 关注

原创 解决MAC OS使用zsh终端不能显示virtualenv相关提示的问题

一、问题MAC OS下激活python的虚拟环境执行如下命令后:source activate正常情况下应该在路径名的左方显示(venv),如下:【此处为了方便举例使用的是我windows的默认终端界面,关键是想要达到在命令行中会出现(venv)提示的效果】但是我在MAC OS下使用oh-my-zsh终端下却没能达到对应的效果:二、解决办法执行步骤如下:...

2020-02-07 23:20:40 3311

原创 关于cmake中的directory指向错误

问题描述在服务器上拷贝别人的整个项目文件夹(别人已经执行过了cmake命令)过来自己的文件夹下,并且执行cmake命令的时候出现了问题:CMake Error: The current CMakeCache.txt directory /home/my/build/CMakeCache.txt is different than the directory /data1/others/...

2019-05-30 18:04:17 2942

原创 关于gflags中”'gflags' has not been declared“问题

今天运行gflags的时候出了问题:在github上面(https://github.com/MisterTea/EternalTerminal/issues/12)找到了解决办法:应该是由于我安装gflags的时候使用的是如下命令:mkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHA...

2019-05-29 10:05:53 4802 3

原创 二叉搜索树转换为双向链表的非递归实现方法

题目输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解答首先从根节点开始,一直遍历右子节点temp并把它们(包括根节点)依次压栈。然后再把栈顶节点出栈,判断当前目标双向链表的头(newHead)是不是空,如果为空则将出栈的第一个节点(即原二叉树的最右边的叶子节点)设置为newHead;不为空则将出栈的节点small和...

2019-03-31 16:50:24 403

原创 LeetCode 腾讯精选练习50 题——146. LRU缓存机制

题目解答这道题目的关键点在于:O(1)时间复杂度内完成查找的操作,虽然使用hash_map的话肯定可以实现O(1)时间复杂度的查询,但是如果只使用hash_map的话,我们这里就难以实现删除元素了。所以这里的想法是:应该使用链表的结构(list)来存储每一对(key,value),然后用hash_map来记录key对应的(key,value)在list中的迭代器,那么在put操作删...

2019-03-25 16:53:24 254

原创 LeetCode 腾讯精选练习50 题——21. 合并两个有序链表

题目解答使用了一个辅助的头节点,这样就不用判断使用 l1 还是 l2 的头节点作为合并链表的头节点了。代码如下:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), ...

2019-03-25 15:39:15 188

原创 【Leetcode】226. 翻转二叉树

题目解答递归方法的话很简单,直接写一个inverse函数(输入为TreeNode*)——对于当前节点的left子树和right子树都进行inverse操作。如果要用非递归实现的话也很简单,先把root节点压栈,然后写一个while循环,当这个栈不为空时进行如下操作:把栈顶元素弹出来,如果为NULL则continue;否则把弹出来的节点的左右指针交换然后再把它们压入栈中。代码如下:...

2019-03-19 18:30:06 184

原创 LeetCode 腾讯精选练习50 题——20. 有效的括号

题目解答很经典的题目,应该不用讲思路了吧......主要就是记得是:遍历到左括号的时候把右括号入栈,遍历到右括号的时候再判断其与栈顶的括号是否相等,还有就是注意什么时候需要判断一下栈是否为空。代码如下:class Solution {public: bool isValid(string s) { stack<char> rec; ...

2019-03-17 10:32:01 222

原创 LeetCode 腾讯精选练习50 题——16. 最接近的三数之和

题目解答这道题目还是使用了双指针的思想,关于双指针可以参考我之前的博客【Leetcode】167_两数之和 II - 输入有序数组。具体来说整个过程就是,先遍历一下数组nums,在每一次遍历中(假设当前遍历的数字为nums[i]),都设置左右两个指针(left = i+1; right = nums.size()-1),如果当前三个数(nums[i], nums[left], nums...

2019-03-16 12:08:58 195

原创 LeetCode 腾讯精选练习50 题——15. 三数之和

题目解答直接用暴力遍历搜解的话时间复杂度为O(n^3),这个代码就不写了。我们这里考虑一下时间复杂度为O(n^2)的解法:首先对数组nums进行升序排序,然后遍历一次数组(重复的跳过),对于遍历到的每个数字curr找到其右边的数组中是否存在两个数字nums[i]、nums[j](i < j)使得nums[curr]、nums[i]、nums[j]三者之和为0,这里可以参考我之...

2019-03-12 12:49:49 176

原创 【Leetcode】167_两数之和 II - 输入有序数组

题目思路之所以记录这道题目是因为这里用到对撞指针的办法:分别设置指向数组头和尾的指针i、j,然后将数组中i、j对应的位置的值相加,若大于target则 j--,若小于target则 i++。注意,这个方法是一定会遍历所有的可能为答案的i、j组合的,与我之前写过的盛最多水的容器类似,所以这里就不再作证明,其实这两道题目的思想感觉也很相似。代码class Solution {p...

2019-03-12 10:59:57 200

原创 LeetCode 腾讯精选练习50 题——11. 盛最多水的容器

题目解答1)解法一:从小到大遍历每个数ai,然后每一次遍历中,从距离当前ai最远的下标开始往靠近ai的方向遍历整数aj,一旦找到大于或等于ai的aj,则此ai对应的容器最大面积就是abs(j-i) * (aj -ai),继续执行下一次的遍历。因为看了标准答案后,发现这个解法的复杂度太高了,所以就不写出来了。2)解法二:双指针法。设置左右两个指针位于容器的最外两侧,每一次高度较小的一...

2019-03-12 10:56:22 218

原创 LeetCode 腾讯精选练习50 题——14. 最长公共前缀

题目解答1. 方法一第一个字符串和第二个匹配得出一个公共前缀后,再用这个前缀与下一个字符串匹配,重复下去到最后一个,代码如下:class Solution {public: string longestCommonPrefix(vector<string>& strs) { if(strs.size() == 0) ...

2019-02-28 22:32:56 349

原创 LeetCode 腾讯精选练习50 题——9. 回文数

题目解答1. 一开始的想法是很直接的把整个数字每一位都存进数组,然后再同时从两边开始遍历这个数组,如下:class Solution {public: bool isPalindrome(int x) { if(x < 0) return false; int num[20]; int cou...

2019-02-26 17:22:50 203

原创 LeetCode 腾讯精选练习50 题——8. 字符串转换整数 (atoi)

题目解答解答前看清楚题目给出的示例,有助于了解可能会出现的所有情况。按照题目的意思,可以成功转换为整数的例子应该是:1. 在整数(该整数可能会带‘+’或‘-’)前的字符必须都为空格2. 在整数部分中一旦出现不是数字的字符,该字符后面的字符都直接舍弃,不会进行转换第一次的时候因为不清楚,写的代码比较混乱,如下:class Solution {public: ...

2019-02-26 09:47:11 157

原创 LeetCode 腾讯精选练习50 题——5. 最长回文子串

题目   解法(中心扩展算法)【注意】这里的expand函数里面之所以返回right-left-1而不是right-left+1,是因为在while循环结束后,得到的回文子字符串对应的起始位置应该为left+1、right-1,那么该回文字符串的长度为(right-1) - (left+1) + 1 即 right-left-1这个算法的主要思路是:遍历长度为n的字符串...

2019-02-25 22:22:36 182

原创 LeetCode 腾讯精选练习50 题——7. 整数反转

一、题目二、解法一开始是打算这么写的......没想到还有ans = ans*10 + x %10这样简单的性质。还有判断溢出(2^31=2147483648)时发现标准答案的很直接:class Solution {public: int reverse(int x) { int temp = x; int bit = 0; ...

2019-02-25 21:19:45 164

原创 LeetCode 腾讯精选练习50 题——1.两数之和

两数之和1. 题目: 2. 解法:1)暴力解法:两层循环,外循环遍历数组中的每一个数(记为a),内循环查找数组中是否存在一个数(记为b)使得a+b的值是否为target,且a和b在nums中的下标要不相同。【注意】这道题目可能设置了没有解的情况,所以在for循环外面还是要加一句return的,不然的话会报错“error: control reaches end of n...

2019-02-18 00:02:59 207

原创 【Leetcode】128_最长连续序列

题目 思路1. 如果题目没有时间要求的话可以考虑直接排序然后统计的暴力解法2. 题目要求时间复杂度为O(n),所以可以考虑使用一个哈希表used记录每个元素是否使用(被遍历过):    对于每一个元素首先判断其是否被遍历过,遍历过则pass,没遍历过才会有下面的故事:     1)先对该元素数轴上左边的数字(打印该元素)进行搜索,统计一下数目,并且遍历过的记录为true...

2018-07-26 00:22:00 220

原创 高级编程技术【sklearn】

题目代码from sklearn import datasets,cross_validationfrom sklearn.naive_bayes import GaussianNBfrom sklearn.svm import SVCfrom sklearn.ensemble import RandomForestClassifierfrom sklearn import metrics...

2018-06-19 15:02:57 281

原创 高级编程技术【Anscombe's quartet】

Anscombe's quartet前期准备需安装的文件:Ipython、Jupyter要配置的Python的库:pandas、seaborn、statsmodels由于使用pip默认的源下载后面几个Python的库的时候很慢,所以这里分享从网上博客中找到的一个小技巧:pip可以自行指定下载源,如指定使用阿里云的镜像下载pandas:pip install -i http://mirrors.al...

2018-06-12 23:15:09 421

原创 高级编程技术作业【Scipy的简单使用】

Scipy        下面为作业文档中Scipy这一章的内容Exercise 10.11. 代码import numpy as npimport scipy.linalg as slm, n = 6, 5A = np.random.randint(1, 10, size = (m, n))print("A is:")print(A)b = np.random.randint(1,...

2018-06-05 09:19:01 297

原创 高级编程技术作业【matplotlib的简单使用】

Matplotlib下面为作业文档中matplotlib这一章的内容。Exercise 11.11. 涉及函数import matplotlib as pltplt.plot(x, y)         # 生成 向量x与y组成的坐标为 (x, y) 的点plt.show()             # 绘制图像plt.xlabel('x')        # 使用xlabel添加x轴...

2018-05-28 09:34:11 312

原创 高级编程技术_课后作业(十四)

Numpy下面为作业文档中Numpy这一章的内容题目解答Exercise 9.1高斯随机分布矩阵的生成:numpy.random.normal(loc=0.0, scale=1.0, size=None)  ,其中loc为均值,scale为方差,size为输出形状乘法:numpy中*是矩阵元素逐个计算,np.dot(a,b)是按照矩阵乘法的运算法则来运算toeplitz--生成托普利兹矩阵【功能简...

2018-05-22 18:12:38 226

原创 高级编程技术_课后作业(十三)

下面的题目都来自LeetCode##第一题题意分析从一个环形数组里面取数字,但是不能取相邻的数字,其中头和尾也算是相邻的数字 题目思路此题有两种取法:(0,len-2)、(1,len-1),我们只需要取这两个取法的结果中较大的一个即可。而对于其中一种取法的结果计算如下: l  temp_2:记录在nums[i]前两个的位置处盗的钱的最大结果l  temp_1:记录在nums[i]前一个的位置处盗的...

2018-05-16 10:35:50 217

原创 高级编程技术_课后作业(十二)

下面题目都来自于LeetCode.##第一题[选自Array类别]解题思路:这道题目相当容易,因为Python中提供了index()函数——如果某个元素存在于列表中,返回其在列表中的位置。如此一来,target在nums中的情况便解决了。接下来是target不在nums中的情况。遍历一下nums中的变量,用一个变量 i 记录当前访问的列表下标。如果访问的元素num的值比target大,则说明tar...

2018-05-02 02:11:14 191

原创 高级编程技术_课后作业(十一)

说明下面为课本上第十一章动手试一试中的部分习题11-1城市和国家:        编写一个函数,它接受两个形参:一个城市名和一个国家名。这个函数返回一个格式为City,Country的字符串,如Santiago, Chile 。将这个函数存储在一个名为city_functions.py的模块中。创建一个名为test_cities.py的程序,对刚编写的函数进行测试(别忘了,你需要导入模块unitt...

2018-04-16 20:59:32 538

原创 高级编程技术_课后作业(十)

说明下面为课本上第十章动手试一试中的部分习题10-1Python学习笔记:        在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python知识,其中每一行都以“In Python you can”打头。将这个文件命名为learning_python.txt,并将其存储到为完成本章练习而编写的程序所在的目录中。编写一个程序,它读取这个文件,并将你所写的内容打印三次:第一次打印时...

2018-04-09 01:13:02 301

原创 高级编程技术_课后作业(九)

说明下面为课本上第九章动手试一试中的部分习题9-3 题目:用户创建一个名为User 的类,其中包含属性first_name 和last_name ,还有用户简介通常会存储的其他几个属性。在类User 中定义一个名为describe_user() 的方法,它打印用户信息摘要;再定义一个名为greet_user() 的方法,它向用户发出个性化的问候。创建多个表示不同用户的实例,并对每个实例都调用上述两...

2018-04-09 00:43:44 308

原创 高级编程技术_课后作业(八)

说明下面为课本上第八章动手试一试中的部分习题8-1题目:消息 :编写一个名为display_message() 的函数,它打印一个句子,指出你在本章学的是什么。调用这个函数,确认显示的消息正确无误。code:def display_message(): print("I am learing how to define functions in Python")display_mess...

2018-04-02 01:03:04 3127

原创 高级编程技术_课后作业(七)

说明下面为课本上第七章动手试一试中的部分习题7-3题目:10的整数倍 :让用户输入一个数字,并指出这个数字是否是10的整数倍。code:num = input("Please enter a number:")num = int(num)if num%10 == 1: print("The number is not the multiple of 10")else: prin...

2018-04-01 21:22:39 364

原创 高级编程技术_课后作业(六)

说明下面为课本上第六章动手试一试中的部分习题6-7code:person_a = { 'firstname': 'A', 'lastname': 'hhh', 'age': 16, 'city': 'Guangzhou', }person_b = { 'firstname': 'B', 'lastname': 'kkk', 'age': 17, 'city': 'Shenzhe...

2018-03-25 15:47:12 234

原创 高级编程技术_课后作业(五)

说明下面为课本上第五章动手试一试中的部分习题5-8code:def special_hello(str): print('Hello ' + str + ', would you like to see a status report?')def hello(str): print('Hello ' + str + ', thank you for logging in again.')c...

2018-03-25 15:13:59 293

原创 高级编程技术_课后作业(四)

说明下面为课本上第四章动手试一试中的习题4-34-54-94-104-114-13(一)(二)(三)

2018-03-18 22:41:14 251

原创 高级编程技术_课后作业(三)

说明下面为课本上第三章动手试一试中的习题3-43-53-63-73-83-11出现索引错误:

2018-03-18 21:24:34 208

原创 高级编程技术_课后作业(二)

说明下面为课本上动手试一试中2-1到2-11的习题2-12-22-32-42-5 && 2-62-72-82-92-102-11

2018-03-09 00:41:03 207

原创 高级编程技术_课后作业(一)

一、浏览Python主页的发现与收获            Python的主页(https://www.python.org/)挺简洁的,内容很丰富,有Python解释器的下载、131212个Python包、Python学习社区、Python领域的最新消息等等,甚至还有与Python相关工作岗位的招聘信息。        Python主页在一挺显眼的地方摆放了几张图片,图片内容分别为函数定义、复合...

2018-03-05 19:55:47 735 2

空空如也

空空如也

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

TA关注的人

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