自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习备忘录--语义分割比赛

hairlessman的学习备忘录(1)–图像语义分割比赛寒假期间太无聊了,本着闲着也是闲着的态度,参加了天池的一个语义分割相关的比赛,初赛A榜当时在4000多个队里排120多名,再努努力本应该可以进复赛。但是开学之后有别的学习任务,并且买基金赔的稍微有点多,舍不得再租服务器了,只好作罢。反正能学一点是一点,写个文章做一下备忘。也希望相关领域的专业人士可以多教教我,毕竟是刚刚入门,论文是自己找的,pytorch是现学的,很多东西都不太会。1.赛题本赛题基于不同地形地貌的高分辨率遥感影像资料,希

2021-03-13 12:09:22 904 3

原创 leetcode热题100刷题笔记(5)

94.二叉树的中序遍历思路如果用递归的方法来写,此题非常的简单,是一个基础题,要熟悉的是非递归的迭代版本,利用栈来求解代码递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * ...

2020-03-30 15:31:00 233

原创 leetcode热题100刷题笔记(4)

目录78.子集思路:代码79.单词搜索思路代码84.柱状图中的最大矩形思路代码85.最大矩形思路代码78.子集思路:这是经典的回溯法的题目:定义一个回溯方法 dfs(first, temp,nums),第一个参数为索引 first,第二个参数为当前子集temp。如果当前子集构造完成,将它添加到输出集合中。否则,从 first 到 mums.size()-1 遍历索引 i。将整数 n...

2020-03-27 23:34:36 230

原创 leetcode热题100刷题日记(3)

72.编辑距离思路编辑距离是一个很经典的动态规划的问题,其难点在于状态的定义,在此题中,需要一个二维的dp数组,dp[i][j] 表示 s1 的前 i 个字母和 s2 的前 j 个字母之间的编辑距离。而状态转移方程的确定,也需要分情况谈论:1. 当s1[i-1]==s2[j-1],因为下标从0开始,所以实际上是s1的第i个字符和s2的第j个字符相等,那么此时这两个字符不需要变换,所以 d...

2020-03-15 22:54:09 130

原创 leetcode热题100刷题笔记(2)

文章目录每日一题:543.二叉树的直径思路代码62.不同路径思路代码递归版本(会超时):动态规划版本:64.最小路径和代码70.爬楼梯思路代码暴力递归(会超时)动态规划每日一题:543.二叉树的直径思路这道题很容易看出来可以用dfs解决,但是其中有一个容易迷惑的点,就是所谓的“最长路径”并不一定经过根节点!因此,我们需要在dfs的过程中,对每一个节点,计算其左子树的高度L以及右子树的高度...

2020-03-10 22:52:22 174

原创 leetcode热题100刷题笔记(1)

跳跃游戏II:class Solution {public: int jump(vector<int>& nums) { int ans=0,begin=0,end=1; while(end<nums.size()){ int temp = 0; for(int i=begin;i...

2020-03-09 22:37:33 288

原创 leetcode 121——买卖股票的最佳时机

思路:这道题刚上手很容易想到动态规划,但是仔细想想并没有那么复杂,只需要将当前的最小数值记录下来,再不断去更新最大利润值即可代码:class Solution {public: int maxProfit(vector<int>& prices) { int currentMin = 10e9,maxp = 0; for(int...

2020-03-09 12:25:23 101

原创 leetcode 49——字母异位词分组

思路:看到这个题目,第一反应是,搞一个map,将key设置为各个字符串的ASCII码值之和,value设置成vector< string >,把ASCII码值之和相同的字符串组合在一起就行但是这样的解法显然是错误的,因为不一样的字符串ASCII码值之和也可以相同,甚至字符串的长度都不一定一样后来想到,只要将每个字符串内部都按照字典序排个序,就可以很轻松的找到字母异位词代码:...

2020-03-08 00:11:27 103

原创 leetcode 46 ——全排列

class Solution {public: vector<int> temp; vector<vector<int>> ans; void dfs(vector<int>& nums,vector<int>& temp,vector<vector<int>>& ...

2020-03-04 18:57:01 100

原创 leetcode 994——腐烂的橘子

思路:类似迷宫问题,这种一层层向外扩展的问题,一般都是广度优先遍历(BFS),这是一道模版题在方向的选择上,设置两个数组dx和dy,同步遍历即可while循环完成一次,就是成功感染了一圈的橘子,res+1while循环结束以后,如果还有没被感染的橘子,直接返回-1int dx[]={0,-1,0,1},dy[]={-1,0,1,0};class Solution {public:...

2020-03-04 17:40:11 120

原创 leetcode 33 —— 搜索旋转排序数组

思路:题目中要求时间复杂度必须是O(log N)级别,由此很容易想到折半查找,但是折半查找要求数组必须是有序排列的,这也是处理的难点,观察旋转后的数组,画个折线图:很容易发现:在转折点的前后,数组都是递增的,并且转折点之后的最大值,一定小于之前的最小值,由此总结出三种情况: nums[0] <= target <= nums[i] target &...

2020-02-23 13:40:58 120

原创 leetcode 32——最长有效括号 JAVA

思路:看到“最长…子串”这样的字眼,第一时间想到的就是动态规划,其中最核心的部分就是状态转移方程的确定,对于此题来说,我将dp[i]的意义定义为:以s[i]结尾的最长有效子串的长度,所以,如果s[i]为 ‘(’,那么dp[i] == 0,因为有效的子串不可能以 ‘(’ 结尾而对于s[i] 为‘)’的情况来说,需要考虑两种情况:1.s[i-1]=‘(’,也就是"…()"的形式,那么dp[i]...

2020-02-21 22:33:29 130

原创 leetcode 31——下一个排列

class Solution {public: void nextPermutation(vector<int>& nums) { int i = nums.size() - 2; while (i >= 0 && nums[i + 1] <= nums[i]) { i--; ...

2020-02-21 20:56:57 115

原创 Leetcode 23——合并K个排序链表 C++

此题的解法可以借鉴归并排序的做法,也体现了分治的思想:首先实现一个合并两个链表的函数mergeTwoLists;再将合并lists中所有的链表这个大问题,分解成“合并左部分的一半,再合并右边的一半,最后再进行一次合并”这样的小问题,并且这个小问题还可以继续细分下去,直到变成只需要合并两个链表,这样的步骤可以递归进行实现:/** * Definition for singly-linked...

2020-02-21 14:00:40 144

原创 Hadoop入门学习(4)——如何统计直播平台的数据

一. 工具:idea,hadoop,fastjson二.需求分析:1.分析前端数据,找出该平台开播时间最长的十名主播2.统计该主播们的信息,包括:主播ID(uid)金币数量(gold)总观看pv(watchnumpv)粉丝关注数量(follower)总开播时长(length)三.数据清洗从前端获得的日志文件为Json格式,如图:1.所以可以采用fastjson进行...

2020-02-19 23:18:54 736

原创 leetcode 22——括号生成

题目:方法一:深度优先遍历(dfs)思路:不难看出,此题目的解空间树是一棵高度为n的满二叉树,按照深度优先遍历的方法,搜索所有的叶子节点,再去判断哪些是符合条件的解,返回即可,这是不难想到的。但是,这道题目显然是可以进行剪枝的,观察一下解空间树的中间节点,可以发现只要当前节点中的右括号比左括号多,那这个分支下的叶子节点就不可能是正确的解,因此,用left代表剩余的’(’,用right代表剩...

2020-02-13 22:16:09 140

原创 leetcode 21 —— 合并两个有序链表

ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode* ans = new ListNode(0); ListNode* head = ans; while(l1!=NULL && l2!=NULL){ if(l1->val&l...

2020-02-12 18:19:03 97

原创 leetcode 17——电话号码的字母组合(JAVA版本)

思路:本题可以使用回溯法进行解决在leetcode的官网题解的评论之下,有人质疑该方法只不过是递归构造,暴力枚举,并没有所谓的回溯,实际上大可不必纠结这样的细节因为所谓的回溯法本质上还是属于暴力法的,只不过它将生成过程和检查过程结合了起来,不必对 解空间树 的叶结点一一地进行检查了,相当于对解空间树做了一次剪枝,把错误结果的分支去掉;而如果画出此题的解空间树,会发现压根也不需要剪枝,:...

2020-02-05 12:18:37 213

原创 Hadoop入门学习(3)——自己写一个WordCount

工具:IntelliJ IDEA CE(无法进入jetbrains官网进行下载的话,可尝试将DNS修改为8.8.8.8)步骤:1.在Idea中新建一个项目wordcount2.在项目的src目录中new一个java class:WordCountJob3.引入相关的jar包:4.编写代码,在WordCountJob类中,实现两个静态内部类MyMapper以及MyReduce,并且在ma...

2020-02-03 22:19:43 446

原创 Hadoop入门学习 2 ——wordcount示例运行

1.wordcount示例的运行:wordcount是一个入门级的程序,相当于hadoop界的helloworld,在hadoop的安装目录下,是自带wordcount示例程序的,我们只需要准备一个文本文件,然后执行它,学习它,就可以对Hadoop的数据处理有个大概的了解。(1)准备一个文件:vim file在vim中按 i 进入插入模式,在file中写入以下内容,或者其他任意内容,之后...

2020-01-30 00:52:33 698 1

原创 leetcode15 三数之和 c++

class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> ans; vector<int> v; sort(nums.begin()...

2020-01-29 00:26:43 177

原创 初识Hadoop—— macOS环境下Hadoop的安装与配置

1.安装Hadoop首先确保正确安装了brew以及jdk,在终端键入:brew install hadoopHadoop会自动安装至/usr/local/Cellar/hadoop/目录下,可以键入:hadoop version来查看hadoop的版本信息(此处为3.2.1版本)2.配置Hadoop(1)配置环境变量HADOOP_HOME(注意版本号的区别):export HA...

2020-01-28 23:39:20 422

原创 leetcode11 盛最多的水

双指针法设置一个头指针start,一个尾指针end;刚开始时保持矩形的长度最长,之后开始从两边向中间夹;在牺牲长度的前提下,尝试能否通过使较短的宽更长,来获得更大的面积。代码如下:class Solution {public: int maxArea(vector<int>& height) { int start=0,end=height....

2020-01-27 23:42:47 218

原创 leetcode 第五题 最长回文子串

class Solution {public: string longestPalindrome(string s) { if(s.size()==1||s.size()==0) return s; int start=0,end=0,l=0; string ans; for(int i=0;i<s.size();i+...

2020-01-27 22:05:05 67

原创 leetcode 第三题

第一次的错误解法class Solution {public: int lengthOfLongestSubstring(string s) { map<char,bool> isExist; int dp[100000]={1}; isExist[s[0]]=true; int max=0; ...

2020-01-25 22:45:14 123

原创 Leetcode 第2题 两数相加

/** 1. Definition for singly-linked list. 2. struct ListNode { 3. int val; 4. ListNode *next; 5. ListNode(int x) : val(x), next(NULL) {} 6. }; */class Solution {public: ListNo...

2020-01-24 12:53:08 101

原创 leetcode 5308 或运算的最小翻转次数

greedy(贪心算法)class Solution {public: int minFlips(int a, int b, int c) { int i,ans=0; for(i=0;i<30;i++) //如果c的二进制表示此位为1 if(c>>i&1) //仅当a和b此位...

2020-01-12 12:52:53 111

原创 Python 3网络爬虫学习笔记(4)——开始采集

一.遍历单个域名像之前一样,我们还是利用维基百科来进行数据采集的学习通过对维基百科上python词条的HTML源代码的观察,可以发现页面有关的链接都在标签名为a的href属性之中:如图,就是指向消歧义的链接。而这样的链接又分为内链和外链:内链:同一网站不同内容页面之间的相互链接。内链就是网站域名下内容页面之间的链接,内链优化的好,网站的结构就会好,也就会有利于网站的优化。外链:从别的...

2019-01-17 21:22:47 346

原创 python 3爬虫学习笔记(3) —— 正则表达式

一. 正则表达式的定义正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。二.正则表达式的规则:符号含义*匹配前面的字符,子表达式或者括号里的字符0次或者多次+匹配前面的字符,子表达式或者括号里的字符至少一次[]匹配任意一个字符...

2019-01-12 10:53:30 186

原创 python 3爬虫学习笔记(2)—— 通过属性查找标签

一.关于层叠样式表(CSS)层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS可以让HTML元素呈现出差异化,使具有完全相同修饰的元素呈现出不同的样式。二.通过属性查找标...

2018-12-31 21:28:00 4530

原创 python 3 爬虫学习笔记(1) —— 初识BeautifulSoup

结合《Python网络数据采集》,学习爬虫的第一天

2018-12-24 20:36:39 326 3

空空如也

空空如也

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

TA关注的人

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