自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

martinue

用脑袋解决一切= =

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

原创 对酒当歌,人生几何

前几年一直在敲代码,好久木有独自写过文字了,这次略微有些想法,想写点文字。人生的意义,到底是什么?理论上,如果说非要深入思考每件物品的意义与价值,其实,这个世界所有的物质都是木有价值与意义的。可是我们为什么不共同选择死亡呢?有的人,没想过这个问题;有的人,觉得这个世界是美好的,不愿放弃;有的人,觉得在这儿体会了痛苦,才可能去天堂…而我以前,也是觉得人生本是无意义的。后来,我参加工作的几年里,见证了无数的改变,业务的调整,组织架构的调整,人员的流转等…也见证了无数的成功,目标的达成,技术目标的实现,商业化

2022-01-03 20:35:51 264

原创 Go学习之Benchmark

package mainimport ( "testing")func add(x, y int) int { return x + y}func BenchmarkAdd(b *testing.B) { //println("B.N=", b.N) for i := 0; i < b.N; i++ { _ = add(1, 2) }}type DataAdd interface { Add() int}type Data struct { a, ...

2021-06-22 15:10:30 327

原创 Go学习之channel&&同步

package mainimport ( "fmt" "sync")func fibonacci(n int, c chan int, waitGroup *sync.WaitGroup) { defer waitGroup.Done() x, y := 0, 1 for i := 0; i < n; i++ { c <- x x, y = y, x+y } close(c)}func get(n int, c chan int, waitGroup *s.

2021-06-22 15:05:41 157

原创 Go学习之实现等价二叉查找树

地址:https://tour.go-zh.org/concurrency/7code:

2021-06-08 17:05:06 114

原创 Leecode148. 排序链表

给你链表的头结点head,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]示例 3:输入:head = []输出:[]提示:链表中节点的数目在范围[0, 5 * 104]内-105<= Node.va...

2021-03-20 00:14:32 89

转载 _mysql.c:44:10: fatal error: 'my_config.h' file not found

前提安装 mysql mysql下载遇到的问题使用命令行 pip install mysql-python 安装时,报错_mysql.c:44:10: fatal error: 'my_config.h' file not found #include "my_config.h" ^~~~~~~~~~~~~ 1 error generated...

2019-05-26 21:00:07 3414

转载 Python文本处理——中文标点符号处理

中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏。以下为在下处理中文标点的时候采用的两种方法,如有更好的工具,请推荐补充。中文标点集合比较常见标点有这些:!?。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏.调用zhon包的zhon.hanzi.pun...

2019-05-19 18:11:56 4802

原创 leetcode 123

给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获...

2019-03-28 16:54:20 322

原创 leetcode 115

给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是)示例 1:输入: S = "rabbbit", T = "rabbit"输出: 3解释:如下图所示, 有 3 种可以从 S ...

2019-03-27 20:02:46 159

原创 leetcode 140

给定一个非空字符串s和一个包含非空单词列表的字典wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "dog"

2019-03-17 16:39:18 293

原创 leetcode 135

老师想给孩子们分发糖果,有N个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗糖果。示...

2019-03-10 16:27:16 317

原创 leetcode 23

合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1-&gt;4-&gt;5, 1-&gt;3-&gt;4, 2-&gt;6]输出: 1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4-&gt;5-&gt;6自己用set实现的。嗯,实现方式不优雅,会导致性能下降,应该直接用set存储ListNode*然后手写比较...

2019-03-09 18:09:39 201

原创 leetcode 97

给定三个字符串s1,s2,s3, 验证s3是否是由s1和s2交错组成的。示例 1:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出: true示例2:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"输出: false纯递归暴力… 有一个优...

2019-03-03 22:43:11 309

原创 leetcode 68

给定一个单词数组和一个长度maxWidth,重新排版单词,使其成为每行恰好有maxWidth个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格' '填充,使得每行恰好有maxWidth个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。...

2019-03-02 18:15:42 257

原创 leetcode 76

给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。 如果 S 中存在这样的子串,我们保证它是唯一的答案。 map记录目标串,开两个下标维护最短长度。static const auto...

2019-02-24 18:33:10 246

原创 leetcode 72

给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输出: 3解释: horse -&gt; rorse (将 'h' 替换为 'r')rorse -&gt; ros...

2019-02-23 20:05:48 167

原创 volatile static 用法

工作中看到了 volatile static a; 的用法,个人大致理解是:static使得变量线程安全,volatile使得变量动态改变后可在任意线程同步。 以下内容为转载:static1、概述  static 声明的变量在C语言中有两方面的特征:   1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的...

2019-02-18 15:43:24 5135

原创 sublime c++11环境 相关配置

 插件安装插件安装方法: ctrl + shift + psublime具体插件: https://packagecontrol.io/search插件名称 简介 Emmet 前端开发神器 sublimeLinter 代码检测工具 SideBarEnhancements 侧边栏 SyncedSideBar 实时更新侧边栏的内容 Bra...

2018-12-05 17:32:19 756

转载 用__attribute__((deprecated))管理过时的代码

在开发一些库的时候,API的接口可能会过时,为了提醒开发者这个函数已经过时。可以在函数声明时加上attribute((deprecated))属性,如此,只要函数被使用,在编译是都会产生警告,警告信息中包含过时接口的名称及代码中的引用位置。attribute可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attri...

2018-11-28 14:58:47 977

原创 C++ 中 # 和 ## 和 #@ 的使用

例如宏定义如下:#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #x x##y表示什么?表示x连接y,举例说:int  n = Conn(123,456);  结果就是n=123456;char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";...

2018-11-22 16:40:41 2801

转载 GCC __builtin_expect的作用

        将流水线引入cpu,可以提高cpu的效率。更简单的说,让cpu可以预先取出下一条指令,可以提供cpu的效率。如下图所示:+--------------------------------|取指令 | 执行指令 | 输出结果+--------------------------------|             | 取指令     | 执行+--------------...

2018-11-22 10:36:18 281

转载 c++11之move和forward

   stout中大量使用了c++11的特性,而c++11中move和forward大概是最神奇的特性了.左值和右值的区别int a = 0; // a是左值,0是右值int b = rand(); // b是左值,rand()是右值  直观理解:左值在等号左边,右值在等号右边  深入理解:左值有名称,可根据左值获取其内存地址,而右值没有名称,不能根据右值获取地址。...

2018-11-21 17:34:12 570

原创 leetcode 32

给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"       括号匹配是标准的栈的用法,但是这题求最长的子串,所以用一个单独的数组处理一下所有匹配好的括号,然后扫一遍记录结...

2018-10-22 19:25:13 245 1

原创 leetcode 57

给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入: intervals = [[1,3],[6,9]], newInterval = [2,5]输出: [[1,5],[6,9]]示例 2:输入: intervals = [[1,2],[3,5],[6,7]...

2018-10-18 13:38:54 216

原创 leetcode 18

给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合...

2018-10-18 13:05:33 110

原创 leetcode 17

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上

2018-10-15 16:11:31 568

原创 leetcode 16

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). O(n^2)的做法,两个指针指一...

2018-10-15 14:36:32 148

原创 leetcode 14(水题)

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入

2018-10-15 14:04:01 166

原创 leetcode 15

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]这类题属于枚举题。。。...

2018-10-08 23:06:55 129

原创 leetcode 11

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...

2018-09-30 16:48:00 123

原创 leetcode 9(水题)

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...

2018-09-28 10:29:26 120

原创 leetcode 8

实现 atoi,将字符串转为整数。该函数首先根据需要丢弃任意多的空格字符,直到找到第一个非空格字符为止。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中...

2018-09-27 23:31:46 171

原创 leetcode 7

给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。 简单题。。。判断溢出的...

2018-09-27 22:55:55 120

原创 leetcode 6

将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s = "PAYPALISHI...

2018-09-27 01:13:54 124

原创 leetcode 4

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 不同时为空。示例 1:nums1 = [1, 3]nums2 = [2]中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]中位数是 (...

2018-09-24 16:33:28 552

原创 leetcode 3

给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 无重复字符的最长子串是 "b",其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 无重复字符的最长子串是 "wke",其

2018-09-21 15:52:46 375

原创 leetcode 2

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -&gt; 4 -&gt; 3) + (5 -&gt; 6 -&gt; 4)输出:7 -&gt; 0 -&gt; 8原因:342 + 465 = 807 裸模拟题…练练手…/**...

2018-09-21 14:58:56 107

原创 leetcode 45

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。  从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数...

2018-09-21 11:19:45 449

原创 leetcode 124

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7]  -10   / \  9  20  ...

2018-09-20 17:29:05 348

原创 leetcode 84

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。 示例:输入: [2,1,5,6,2,3]输出: 10我的思路是分治,找到...

2018-09-18 23:14:55 317

空空如也

空空如也

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

TA关注的人

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