自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 收藏
  • 关注

原创 手撕coding

常规手撕题目:题目一:01背包问题给两个数组,w[2,3,5,10]表示每个物品的大小,v[4,1,8,3]表示每个物品对应的价值,然后给一个背包的大小s,然后问能装下的最多的价值。解题:利用动归,构建一个dp数组,并初始化;dp数组的改变情况:(1)j< w [i] :那么dp[i][j]=dp[i-1][j];w=[9,2,1]v=[1,4,9]s=10w.insert(...

2019-09-07 09:37:09 152

原创 python遗失的村落(持续更新中...)

extend与append的区别extend:把序列seq的内容添加到列表中(是在列表中加入别人的元素,别人有多少个单元,就加入多少个单元)append:向列表中添加一个对象object(是把别人的所有元素当成自己的一个元素,然后加入,不管别人有多少个单元,都当成一个单元加入)...

2019-03-22 11:03:38 113

原创 C++遗失的村庄(持续更新。。。)

位运算与操作(&amp;amp;):0&amp;amp;0=0 0&amp;amp;1=0 1&amp;amp;1=1异或操作(^):或操作(|)取反操作(~)左移(&amp;lt;&amp;lt;)右移(&amp;gt;&amp;gt;)

2019-03-15 09:25:08 238

原创 爬虫前行中(datawhale task4)

腾讯新闻爬取from selenium import webdriverfrom lxml import etreeimport timeurl = 'https://news.qq.com/'bro = webdriver.Chrome()bro.get(url)for i in range(5): bro.execute_script('window.scrollTo(0...

2020-04-27 15:09:15 194

原创 爬虫进行中(datawhale task3)

本次目标:了解session和cookie,ip代理知识,selenium的使用,拔高:实现丁香园的模拟登录爬取留言板session和cookie因为http是无状态的,就是说这一次请求和上一次请求是没有任何关系的,互不认识的,没有关联的。这种无状态的的好处是快速。坏处是假如我们想要把www.zhihu.com/login.html和www.zhihu.com/index.html关联起来,...

2020-04-24 15:46:06 234

原创 爬虫前行中(datawhale task2)

本次需要了解bs4库的使用,xpath,正则表达式并实现案例bs4库的使用Beautiful Soup 是一个HTML/XML 的解析器,主要用于解析和提取 HTML/XML 数据。 它基于HTML DOM 的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。 BeautifulSoup 用来解析 HTML 比较简单,API非常人性化,支持CSS选择器、...

2020-04-23 17:03:14 269

原创 爬虫前行中(datawhale task1)

了解http基础http协议方法:GET 请求指定的页面信息,并返回实体主体。 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。PUT 从客户端向服务器传送的数据取代指定的文档的内容...

2020-04-20 10:25:36 257

原创 DataWhale数据挖掘(二手车价格预测)第五次打卡

模型融合目标1、对于多种调参完成的模型进行模型融合。2、完成对于多种模型的融合,提交融合结果。导入库和数据import itertoolsimport matplotlib.gridspec as gridspecfrom sklearn import datasetsfrom sklearn.linear_model import LogisticRegressionfrom s...

2020-04-04 11:59:19 230

原创 DataWhale数据挖掘(二手车价格预测)第四次打卡

建模调参特征工程目标1、了解常用的机器学习模型,2、掌握机器学习模型的建模与调参流程(主要通过模型的效果来调参)线性回归模型sample_feature=sample_feature.dropna().replace('-',0).reset_index(drop=True)sample_feature['notRepairedDamage']=sample_feature['not...

2020-04-01 18:26:52 203

原创 DataWhale数据挖掘(二手车价格预测)第三次打卡

特征工程目的1、对于特征进行进一步分析,并对于数据进行处理2、完成对于特征工程的分析,并对于数据进行一些图表分析删除异常值通过用3/4分为数和1/4分为数划分异常范围,之间删除异常值#删除异常值函数def outliers_proc(data,col_name,scale=3): ''' 用于清洗数据 :param data : pandas格式数据 ...

2020-03-27 13:37:26 239

原创 DataWhale数据挖掘(二手车价格预测)第二次打卡

数据分析前言:EDA的价值主要在于熟悉数据集,了解数据集,对数据集进行验证来确定所获得数据集可以用于接下来的机器学习或者深度学习使用。当了解了数据集之后我们下一步就是要去了解变量间的相互关系以及变量与预测值之间的存在关系。引导数据科学从业者进行数据处理以及特征工程的步骤,使数据集的结构和特征集让接下来的预测问题更加可靠。载入各种数据科学以及可视化库(都是使用常用的库)载入数据#se...

2020-03-24 13:50:11 316

原创 剑指offer(替换空格)

继续刷剑指offer,第二题,替换空格题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题:Java中,可以利用StringBuffer的特性,其中有很多方法可以调用:1、toString();2、charAt();3、replace();4、length();5、...

2020-02-25 12:25:57 141

原创 剑指offer(二维数组中的查找)

发现之前刷的题又忘记了好多,决定重新再刷一遍。先从剑指offer开始吧!!!!第一题,二维数组中的查找。题目表述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。这个题目的解题方法就是从右上角开始往左和往下两边遍历,仔细一想,好想是变形后的二分查...

2020-02-24 14:27:23 129

原创 leetcode探索之旅(134)-90-subset

今天继续刷leetcode,第90题,求一个集合的子集,并且去重分析:采用递归的方法,加入一个,调用一次递归函数;要达到去重的功能,需要对数组进行排序,如果当前的值等于前一个,那么就不添加;附上c++代码:class Solution {public: vector<vector<int>> subsetsWithDup(vector<int&gt...

2019-09-18 11:26:38 113

原创 leetcode探索之旅(133)-89-gray code

今天继续刷leetcode,第89题,求n位的二进制的所有值;分析:当n为1的时候,有0,1两种,如果n为2的时候,就是在n为1的基础上,左边加一个0,添加到结果中,然后左边加一个1,然后右边的反转后添加到结果中;问题:1、要想满足题意中,连续的两个值,只有一个bit位不同,需要对加一的时候,反转;附上c++代码:class Solution {public: vector&...

2019-09-17 16:32:32 91

原创 leetcode探索之旅(132)-86-partition list

今天继续刷leetcode,第86题,将列表分割;分析:类似于快排的第一趟,使得base的左边小,右边大,并且要保证左右的区间内元素相对位置不变。既然是链表,那么可以设置两个指针,一个指针后面接小于base的;一个指针后面接大于等于base的;最后链接两个链表。问题:1、指针初始化;附上c++代码:/** * Definition for singly-linked list. ...

2019-09-17 15:28:52 134

原创 leetcode探索之旅(131)-82-remove duplicate from sorted list

今天继续刷leetcode,第82题,移除有序链表中重复的元素。分析:设置两个指针,一个指向前一个,一个指向后面没有重复的那一个;问题:1、头部就是重复的;2、尾部是重复的;附上c++代码1:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *n...

2019-09-16 11:11:44 105

原创 leetcode探索之旅(130)-81-search sorted array

今天继续刷leetcode,第81题,查找一个有重复的旋转数组;分析:采用二分的方式,较快;1、对于旋转数组,比较中间的元素和最后的一个元素的大小,如果中间大,那么可能左边有序,如果中间小,那么右边有序;2、再比较目标在左还是在右;3、如果相等,那么就让左边的指针左移;附上c++代码:class Solution {public: bool search(vector&lt...

2019-09-13 11:12:01 129

原创 leetcode探索之旅(129)-80-remove duplication from sort array

今天继续刷leetcode,第80题,移除一个有序数组中的重复的元素,最多重复次数为2;分析:方法一:设置一个新下标指针,初始为2,从2开始遍历整个数组,同时判断,这个位置的元素,是否和前两位的那个元素相等,如果相等,那么指针不移动,如果不想等,那么指针移动。方法二:遍历整个数组,如果该元素等于前两位的那个元素,那么就删除,然后继续遍历,否则继续遍历;问题:1、要在原数组中进行修改,不申...

2019-09-12 10:57:57 134

原创 leetcode探索之旅(128)-79-word search

今天继续刷leetcode,第79题,求单词路径;分析:采用dfs的方式,上下左右遍历,找到路径就返回true;碰到一下三种情况,就返回false:(1)超过边界;(2)访问过;(3)不等于目标值;附上c++代码:class Solution { int d[4][2]={{-1,0},{0,1},{1,0},{0,-1}}; int m,n; vector...

2019-09-07 11:08:33 111

原创 leetcode探索之旅(127)-78-subsets

今天继续刷leetcode,第78题,求一个数组的所有子序列。分析:采用回溯的方法,每到一种情况,就将该情况加入输出结果中。问题:1、回溯方法;附上c++代码:class Solution {public: vector<vector<int>> subsets(vector<int>& nums) { vector...

2019-09-06 19:12:55 83

原创 leetcode探索之旅(126)-77-combinations

今天继续刷leetcode,第77题,求长度为k的组合分析:采用递归的方式,求解。对于每一个数,遍历后面所有的组合;问题:1、python中的itertools.combinations函数集成很好,速度很快;2、c++中向量的pop_back()附上c++代码:class Solution {public: vector<vector<int>> ...

2019-09-04 14:40:40 104

原创 leetcode探索之旅(125)-75-sort color

今天继续刷leetcode,第75题,求一个排序的color,以0,1,2进行排序,且在一个O(n)的时间内执行。分析:1、c++中,定义i、j、k三个指针,遍历整个数组,如果是0,那么三个指针都后移,如果是1,那么后两个指针后移,如果是2,那么最后一个指针后移。2、python中使用sort函数进行排序;附上c++代码:class Solution {public: void...

2019-09-03 21:07:57 103

原创 leetcode探索之旅(124)-74-search 2d matrix

今天继续刷leetcode,第74题,在一个递增的二维矩阵中查找分析:既然是递增的序列,那么采用二分查找可以优化;问题:1、需要对下标转换为一个二维矩阵的横纵坐标;附上c++代码:class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) ...

2019-09-02 09:29:01 85

原创 leetcode探索之旅(123)-73-set matrix zero

今天继续刷leetcode,第73题,将矩阵中有零的元素的行和列全部设置为0分析:方法一:采用O(mn)的空间方法,很简单可以实现,初始化一个m*n的矩阵,先遍历行,如果有0,就将整行设置为0,再遍历列,如果有0,则将整列设置为0,最后将两个矩阵合并。方法二:采用O(m+n)的空间方法,初始一个m+n长度的向量,然后遍历整个原始矩阵,如果为0,则将行向量设为0,对应的列也设置0,然后对整个数...

2019-08-30 10:53:36 119

原创 leetcode探索之旅(122)-72-simplify path

今天继续刷leetcode,第72题,unix的路径简化分析:将路径按照‘/’分割,然后借助栈,如果是’.’,继续遍历;如果是’…’,就出栈;如果都不是,就入栈;最后将栈内元素用’/’,进行连接。问题:1、c++中巧妙的运用getline函数;附上c++代码:class Solution {public: string simplifyPath(string path...

2019-08-29 09:53:30 103

原创 leetcode探索之旅(121)-64-min paths

今天继续刷leetcode,第64题,求最短路径和。分析:动态规划,先求出第一行和第一列的数值,然后求剩下的时候,加上左边和上面的最小值,直到右下角。问题:1、动态规划求解过程,递归求解子问题,并保存历史纪录;附上c++代码:class Solution {public: int minPathSum(vector<vector<int>>& ...

2019-08-28 09:48:07 114

原创 leetcode探索之旅(120)-63-unique paths2

今天继续刷leetcode,第63题,求有障碍的情况下的路径和。分析:和上一题类似,如果碰到有障碍的地方,把这个地方的路径和设置为0,然后按照上一题的解法。从起点到终点的路径,这题是动态规划,通过一系列子问题求解最终的问题。可以先从起点开始,到达周围的点的路径,然后求解到达其他点的路径。注意的问题:1、在初始第一行和第一列的时候,碰到一个障碍的话,后面所有的路径都为0,都为不可达。...

2019-08-27 15:18:53 97

原创 leetcode探索之旅(119)-62-unique paths

今天继续刷leetcode,第62题,求不同路径。分析:从起点到终点的路径,这题是动态规划,通过一系列子问题求解最终的问题。可以先从起点开始,到达周围的点的路径,然后求解到达其他点的路径。|1|1|1|1|2|3|1|3|6可以看出每个点的路径和,等于左边的路径和加上上面的路径和,那么就可以解决问题了。附上c++代码:class Solution {public: int...

2019-08-27 10:23:47 96

原创 快排

数组快排:方法一:通过双指针,前后比较,一趟比较完后,递归快排左右两部分;方法二:将所有数和数组的第一个进行比较,小的放左边,大的放右边,一趟比较完后,递归快排左右两部分;附上代码方法一:def soft(nums,l,r): if l>r: return i=l j=r temp=nums[i] while i<j: ...

2019-08-27 09:50:42 288

原创 leetcode探索之旅(118)-61-旋转链表

继续刷leetcode,第61题,求一个旋转链表;分析:首先找到尾指针,然后将尾指针与头连接,然后找到倒数第k-1个节点,然后将该节点与后一个断开,然后头设置为该节点的下一个,返回;问题:1、注意链表为空;2、k为0等情况;附上c++代码:/** * Definition for singly-linked list. * struct ListNode { * int...

2019-08-16 20:35:40 91

原创 leetcode探索之旅(117)-60全排列序列

今天继续刷leetcode,第60题,求全排列的第k个数分析:先将全排列求出,然后一次往后数,这样不仅需要空间,而且时间开销也比较大,因此采用找规律的方式求解;根据n个数的有(n-1)!种排列方式,求k在第几个位置,以及对应的值。问题:1、时间开销比较大的时候,考虑找规律;2、字符串的切片附上c++代码:class Solution {public: string get...

2019-08-16 10:59:43 127

原创 leetcode探索之旅(116)-59-spiral matrix

今天继续刷leetcode,第59题,求n*n的螺旋矩阵;分析:可以按照右、下、左、上,四个方向进行遍历,同时赋值一个累加的值;问题:1、python初始化一个n*n的矩阵,res=[[0]n for _ in range(n)]2、c++初始化一个nn的矩阵,vector<vector> res(n, vector(n,1))3、注意边界情况;附上c++代码: clas...

2019-08-15 09:44:06 97

原创 leetcode探索之旅(115)-56_merge intervals

今天继续刷leetcode,第56题,融合重合的部分。分析:首先给的二维数组可能无序,先对二维数组对第一列进行排序,然后将输出结果的最后一行作为中间变量,比较他的第二列和其余每行的第一列以及第二列的大小,分为三种情况;情况一:比下一行的第一列大,也比下一行的第二列大,那么就继续下一行;情况二:比下一行的第一列大,但是比下一行的第二列小,那么就更新该中间变量的第二列为下一行的第二列;情况三...

2019-07-23 19:07:44 83

原创 leetcode探索之旅(114)-55——jump game

今天继续刷leetcode,第55题,跳跃游戏,判断是否能跳跃到数组最后一位。分析:方法一:设置一个临时变量,指定当前能跳跃的最大步长(每后移一位,步长减一)。如果步长小于或者等于0,那么就返回false,如果到达最后一位,就返回true。方法二:求下标与当前的跳跃的和的最大,判断跳跃到第n个位置到时候,n与和到大小,如果n大于和,那么就证明跳跃不到第n个位置,如果小,就能。问题:1、...

2019-07-22 15:17:06 79

原创 LeetCode探索之旅(113)-54_spiral matrix

今天继续刷LeetCode,第54题,求二维矩阵的螺旋顺序。分析:解题思路是,按照从左到右、从上到下、从右到左、从下到上,一层一层的遍历,并添加到输出列表中。问题:1、注意下标问题,不要越界;2、特殊情况的考虑(只有一行或者只有一列)附上C++代码:class Solution {public: vector<int> spiralOrder(vector&lt...

2019-07-21 15:49:28 91

原创 LeetCode探索之旅(112)-50_pow

今天继续刷LeetCode,第50题,求浮点数的n次方分析:n为三种情况(正数,0,负数)1、正数的时候,循环累计叠成。(改进方法是采用二分累乘)2、负数的时候,可以对浮点数去导数后,按照正数的计算方法计算;3、为0的时候,返回为0问题:1、n可能为很大的数,需要优化,减少计算次数;2、注意整型越界的情况附上C++代码:class Solution {public: ...

2019-07-19 14:40:07 77

原创 LeetCode探索之旅(111)-49_Group Anagrams

今天继续刷LeetCode,第49题,将字母颠倒的字符串进行归类。分析:遍历所有字符串,并对每一个字符串进行排序,然后将每一个放入到哈希表中,属于同一种的放在一个容器中。问题:1、哈希表的使用,遍历,查找,增加、删除;附上C++代码:class Solution {public: vector<vector<string>> groupAnagrams...

2019-07-18 15:25:40 121

原创 LeetCode探索之旅(110)-48_rotate image

今天继续刷LeetCode,第48题,选择图片分析:方法一:可以借用矩阵转置,然后进行对调。方法二:在不借用其他空间的情况下,就是找到规律,将对应位置进行替换,并进行交换。附上C++代码:class Solution {public: void rotate(vector<vector<int>>& matrix) { int n...

2019-07-17 21:27:50 80

原创 LeetCode探索之旅(109)-47Permutation2

今天继续刷LeetCode,第47题,求一个存在重复的数组的全排列分析:回溯法,遍历整个数组的每一位(如果出现相同的就跳过),对于每一位,求其全排列,通过递归调用,直到最后。Python同时也可以用插空法;问题:1、C++中在函数调用完后,需要对临时容器出栈,不然会累加出错;附上C++代码:class Solution {public: vector<vector&l...

2019-07-16 15:09:56 79

空空如也

空空如也

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

TA关注的人

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