BY Blog

とことんまで戦う

leetcode150逆波兰表达式求值

leetcode150Evaluate Reverse Polish Notation

前言 愚蠢如我。 正文 问题来源 本问题来自leetcode上的150题。用go语言做的 问题描述 根据逆波兰表示法,求表达式的值。 有效的运算符包括+, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 : 输入: ["10...

leetcode74搜索二维矩阵

leetcode74 Search a 2D Matrix

前言 真菜的我。 正文 问题来源 本问题来自leetcode上的74题。用go语言做的 问题描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20...

leetcode319灯泡开关

leetcode319 Bulb Switcher

前言 需要推导。 正文 问题来源 本问题来自leetcode上的319题。用go语言做的 问题描述 初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 i 轮,每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的...

leetcode41缺失的第一个正数

leetcode41 First Missing Positive

前言 别总想着暴力。 正文 问题来源 本问题来自leetcode上的41题。用go语言做的 问题描述 给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11,12] 输出: 1 分析: 暴力开空间思想很简单,使用的是bitmap...

go语言爬虫并发

Concurrent Crawler In Go

前言 使用go语言做点东西,跟着网上大神一起学习,做做笔记。 正文 学习一个语言快速的方法就是不断的用。 接着前一章节继续学习go语言的爬虫。由于go语言是对并发有着良好的支持,在原有的单任务版爬虫的基础上,改动并不是很大,将原有的解析器parser和获取器fetcher合并成为新的抽象worker。由于在单任务版的基础上会有很多个worker一同协同工作,所以在原有的基础上需要增加调...

leetcode45跳跃游戏II

leetcode45 Jump Game II

前言 动态规划一定能获得最优解,但是效率并不一定最高。 正文 问题来源 本问题来自leetcode上的45题。用go语言做的 问题描述 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例 1: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 示例: 输入:...

leetcode24两两交换链表中的节点

leetcode24 Swap Nodes in Pairs

前言 今天提交之后看运行时0ms,我震惊了。大力出奇迹 正文 问题来源 本问题来自leetcode上的24题。用go语言做的 问题描述 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例 1: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 说明:...

leetcode23合并K个排序链表

leetcode23 Merge k Sorted Lists

前言 一个continue写成break导致问题找了好久 正文 问题来源 本问题来自leetcode上的23题。用go语言做的 问题描述 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例 1: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, ...

go语言爬虫单机

Single Crawler In Go

前言 使用go语言做点东西,跟着网上大神一起学习,做做笔记 正文 学习一个语言快速的方法就是不断的用。 步骤1 首先获取网站的页面 package main import ( "net/http" "fmt" "io/ioutil" ) func main() { resp, err := http.Get("http://www.zhenai.com/zhenhun") ...

leetcode3无重复字符的最长子串

leetcode3 Happy Numbers

前言 水题收割者 正文 问题来源 本问题来自leetcode上的3题。这道题之前做过,这次用go语言再做一遍 问题描述 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例 1: 给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。 给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。 给定 “pwwkew” ,最长子串是 “wk...