- 博客(394)
- 收藏
- 关注
原创 对酒当歌,人生几何
前几年一直在敲代码,好久木有独自写过文字了,这次略微有些想法,想写点文字。人生的意义,到底是什么?理论上,如果说非要深入思考每件物品的意义与价值,其实,这个世界所有的物质都是木有价值与意义的。可是我们为什么不共同选择死亡呢?有的人,没想过这个问题;有的人,觉得这个世界是美好的,不愿放弃;有的人,觉得在这儿体会了痛苦,才可能去天堂…而我以前,也是觉得人生本是无意义的。后来,我参加工作的几年里,见证了无数的改变,业务的调整,组织架构的调整,人员的流转等…也见证了无数的成功,目标的达成,技术目标的实现,商业化
2022-01-03 20:35:51
328
原创 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
390
原创 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
209
原创 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
129
转载 _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
3527
转载 Python文本处理——中文标点符号处理
中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏。以下为在下处理中文标点的时候采用的两种方法,如有更好的工具,请推荐补充。中文标点集合比较常见标点有这些:!?。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏.调用zhon包的zhon.hanzi.pun...
2019-05-19 18:11:56
5050
原创 leetcode 123
给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获...
2019-03-28 16:54:20
388
原创 leetcode 115
给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是)示例 1:输入: S = "rabbbit", T = "rabbit"输出: 3解释:如下图所示, 有 3 种可以从 S ...
2019-03-27 20:02:46
199
原创 leetcode 140
给定一个非空字符串s和一个包含非空单词列表的字典wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "dog"
2019-03-17 16:39:18
352
原创 leetcode 135
老师想给孩子们分发糖果,有N个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗糖果。示...
2019-03-10 16:27:16
369
原创 leetcode 23
合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6自己用set实现的。嗯,实现方式不优雅,会导致性能下降,应该直接用set存储ListNode*然后手写比较...
2019-03-09 18:09:39
237
原创 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
357
原创 leetcode 68
给定一个单词数组和一个长度maxWidth,重新排版单词,使其成为每行恰好有maxWidth个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格' '填充,使得每行恰好有maxWidth个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。...
2019-03-02 18:15:42
307
原创 leetcode 76
给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。 如果 S 中存在这样的子串,我们保证它是唯一的答案。 map记录目标串,开两个下标维护最短长度。static const auto...
2019-02-24 18:33:10
289
原创 leetcode 72
给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输出: 3解释: horse -> rorse (将 'h' 替换为 'r')rorse -> ros...
2019-02-23 20:05:48
220
原创 volatile static 用法
工作中看到了 volatile static a; 的用法,个人大致理解是:static使得变量线程安全,volatile使得变量动态改变后可在任意线程同步。 以下内容为转载:static1、概述 static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的...
2019-02-18 15:43:24
6247
原创 sublime c++11环境 相关配置
插件安装插件安装方法: ctrl + shift + psublime具体插件: https://packagecontrol.io/search插件名称 简介 Emmet 前端开发神器 sublimeLinter 代码检测工具 SideBarEnhancements 侧边栏 SyncedSideBar 实时更新侧边栏的内容 Bra...
2018-12-05 17:32:19
810
转载 用__attribute__((deprecated))管理过时的代码
在开发一些库的时候,API的接口可能会过时,为了提醒开发者这个函数已经过时。可以在函数声明时加上attribute((deprecated))属性,如此,只要函数被使用,在编译是都会产生警告,警告信息中包含过时接口的名称及代码中的引用位置。attribute可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attri...
2018-11-28 14:58:47
1087
原创 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
2884
转载 GCC __builtin_expect的作用
将流水线引入cpu,可以提高cpu的效率。更简单的说,让cpu可以预先取出下一条指令,可以提供cpu的效率。如下图所示:+--------------------------------|取指令 | 执行指令 | 输出结果+--------------------------------| | 取指令 | 执行+--------------...
2018-11-22 10:36:18
310
转载 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
627
原创 leetcode 32
给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()" 括号匹配是标准的栈的用法,但是这题求最长的子串,所以用一个单独的数组处理一下所有匹配好的括号,然后扫一遍记录结...
2018-10-22 19:25:13
290
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
258
原创 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
168
原创 leetcode 17
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上
2018-10-15 16:11:31
626
原创 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
192
原创 leetcode 14(水题)
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入
2018-10-15 14:04:01
213
原创 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
171
原创 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
160
原创 leetcode 9(水题)
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...
2018-09-28 10:29:26
154
原创 leetcode 8
实现 atoi,将字符串转为整数。该函数首先根据需要丢弃任意多的空格字符,直到找到第一个非空格字符为止。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中...
2018-09-27 23:31:46
207
原创 leetcode 7
给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。 简单题。。。判断溢出的...
2018-09-27 22:55:55
154
原创 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
160
原创 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
619
原创 leetcode 3
给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 无重复字符的最长子串是 "b",其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 无重复字符的最长子串是 "wke",其
2018-09-21 15:52:46
401
原创 leetcode 2
给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807 裸模拟题…练练手…/**...
2018-09-21 14:58:56
151
原创 leetcode 45
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数...
2018-09-21 11:19:45
503
原创 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
395
原创 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
365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人