自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Jupyter notebook修改默认打开路径

Windows默认路径是C盘用户目录,不少人C盘空间比较紧张,而且相关文件也很多不在C盘,所以相信很多人像我一下想修改一下默认路径。

2022-10-09 14:47:43 399 1

原创 算法 | 找到 K 个最接近的元素

给定一个 排序好 的数组 arr ,两个整数 k 和 x ,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。整数 a 比整数 b 更接近 x 需要满足:|a - x| < |b - x| 或者|a - x| == |b - x| 且 a < b。

2022-08-25 09:14:51 217

翻译 【翻译】Flink和Spark性能对比

对比广告业务场景下,目前最流行的流处理引擎Flink和Spark streaming性能

2022-08-24 13:53:03 246

原创 Golang双指针解答接雨水问题

题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9解题思路首先要明确,每个位置能存的水,取决与其两边的最大高度值。在此基础上,可以

2021-02-05 09:44:36 302

原创 Python 3.7 import kafka 报错问题

python操作kafka报错:return ‘’ % self.async使用的python3.7版本,发现使用kafka的库连接时报错,错误信息如下:…return ‘’ % self.async^SyntaxError: invalid syntax这里的原因是, 在3.7里面async已经变成了关键字。解决办法:使用最新的kafka版本即可. 但是pip install kafka不行,可以使用下面的方法升级:pip install kafka-python...

2021-01-13 09:36:59 1390

原创 Go语言结构体中的标签问题

Struct Tag相信大家都用过结构体的标签功能吧,特别是生成Json串会经常用到。样例程序请看下面这一段程序,这里使用反射,通过用 FieldByName(“Name”) 获得结构体的Name 字段。然后使用.Tag.Get(“format”) 取得标签。type Employee struct{ EmployeeID string Name string `format: "n...

2019-12-26 15:11:00 331

原创 Golang调用RESTFUL API——嵌套型Json

本文是原创文章,以后我踩过的golang或python的坑,都会在此和大家分享,共同进步!url.Values百度搜索出来的Post调用方式,无论是 http.PostForm方式:func post(){ resp, err := http.PostForm("http://127.0.0.1", url.Values{...

2019-06-20 15:05:54 3090

原创 Python实现接雨水问题

It’s a problem you are likely to be asked when you have interview from ByteDance.描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分...

2019-04-28 21:42:42 1631

转载 Python调用REST API接口的几种方式

原文链接相信做过自动化运维的同学都用过REST API接口来完成某些动作。API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课。本文主要介绍python中调用REST API的几种方式,下面是python中会用到的库。urllib2httplib2pycurlrequestsurllib2Sample1import url...

2019-04-16 22:56:38 2683 1

原创 简单说明Python中*args 和 **kwargs的区别

*args,**kwargs是什么?其实就是函数的不定参数。定义了这两种参数的函数,可以给它传0到多个参数。1. *args例子In [19]: def fun1(*args): ...: print(args) ...:In [20]: fun1()In [21]: fun1(1,2,"abc")1 2 abc可以看到,*args会取得所有入参。2...

2019-04-11 12:18:39 935

原创 Python3实现删除二叉搜索树中的节点

问题给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:root = [5,3,6,2,4,null,7]key = 3 ...

2019-04-08 00:04:40 1335 1

原创 Golang 实现 Trie (前缀树)

定义前缀树是N叉树的一种特殊形式。通常来说,一个前缀树是用来存储字符串的。前缀树的每一个节点代表一个字符串(前缀)。每一个节点会有多个子节点,通往不同子节点的路径上有着不同的字符。子节点代表的字符串是由节点本身的原始字符串,以及通往该子节点路径上所有的字符组成的。下面是前缀树的一个例子:在上图示例中,我们在节点中标记的值是该节点对应表示的字符串。例如,我们从根节点开始,选择第二条路径 ‘b...

2019-03-31 00:25:42 3377

原创 验证二叉搜索树

二叉搜索树的定义二叉搜索树(BST)是二叉树的一种特殊表示形式,它满足如下特性:每个节点中的值必须大于(或等于)存储在其左侧子树中的任何值。每个节点中的值必须小于(或等于)存储在其右子树中的任何值。下面是一个二叉搜索树的例子:像普通的二叉树一样,我们可以按照前序、中序和后序来遍历一个二叉搜索树。 但是值得注意的是,对于二叉搜索树,我们可以通过中序遍历得到一个递增的有序序列。因此,中序遍...

2019-03-30 00:39:50 169

转载 算法 | golang 实现 key有序map

摘要: Golang map实现原理是hashmap(核心元素是桶,key通过哈希算法被归入不同的bucket中),key是无序的,很多应用场景可能需要mapkey有序(例如交易所订单撮合),C++ 的stl map实现了key有序,实际上是TreeMap是基于树(红黑树)的实现方式,即添加到一个有序列表,在O(logn)的复杂度内通过key值找到value,优点是空间要...

2019-03-26 16:11:03 7958

转载 OLTP和OLAP的区别

联机事务处理OLTP(on-line transaction processing) 主要是执行基本日常的事务处理,比如数据库记录的增删查改。比如在银行的一笔交易记录,就是一个典型的事务。OLTP的特点一般有:1.实时性要求高。我记得之前上大学的时候,银行异地汇款,要隔天才能到账,而现在是分分钟到账的节奏,说明现在银行的实时处理能力大大增强。2.数据量不是很大,生产库上的数据量一般不会太大,...

2019-03-22 11:42:23 140

转载 Go Runtime hashmap实现

hashmap 通过一个 bucket 数组实现,所有元素将被 hash 到数组中的 bucket 中,bucket 填满后,将通过一个 overflow 指针来扩展一个 bucket 出来形成链表,也就是解决冲突问题。这也就是一个基本的 hash 表结构,没什么新奇的东西,下面总结一些细节吧。注意一个 bucket 并不是只能存储一个 key/value 对,而是可以存储8个 key/va...

2019-03-21 17:09:28 86

原创 【原创】巧解十进制整数的反码问题

问题:每个非负整数 N 都有其二进制表示。例如, 5 可以被表示为二进制 “101”,11 可以用二进制 “1011” 表示,依此类推。注意,除 N = 0 外,任何二进制表示中都不含前导零。二进制的反码表示是将每个 1 改为 0 且每个 0 变为 1。例如,二进制数 “101” 的二进制反码为 “010”。给定十进制数 N,返回其二进制表示的反码所对应的十进制整数。数字范围0 &lt;...

2019-03-17 22:10:55 1330

转载 numpy 2d 数组访问

在二维数组中,以下代码可以用逗号分隔快速访问a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])a[: , 2]array([ 3, 7, 11])而这一组确不行a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11]])a[:,2]Traceback (most recent ca...

2018-12-04 00:25:08 1689

转载 如何成为python全栈工程师

原文链接How do I become a full stack Python developer?Mike Sparr, CTO at ClientHub (2017-present)Plan on many years of continual learning and refining your knowledge and skills - yes, years or possibly...

2018-11-02 10:36:43 416

翻译 成为全栈工程师的6个要素

原文链接:英语原文看这里何为全栈工程师?为何全栈工程师被广泛讨论?一人控全局,利于创业如何成为全栈工程师?掌握编程语言使用开发框架和第三方类库掌握前端技术掌握数据库和缓存技术具备基础的设计能力其他必备的自我要求:全局思考良好的沟通技巧创新能力好奇心时间管理总结按照马尔科姆·格拉德威尔的10000小时成功法则,成为合格的全栈工程师需要至少10年时间。这...

2018-11-02 10:32:28 893

原创 Python实现线性搜索

例子很简单,但是关键是练习如何有效的用assert发现问题并提供有效反馈。import sysimport tracebackdef linearSearch(iter, s): try: #iter should be iterable assert type(iter) == list or type(iter) == tuple #iter should not be emp...

2018-11-01 15:44:14 1455

翻译 返回详细assert失败信息

原代码摘自StackOverflow如果有多条assert信息,发生错误如何定位? 例如:try: assert True assert 7 == 7 assert 1 == 2 # many more statements like thisexcept AssertionError: print 'Houston, we have a probl...

2018-11-01 15:33:37 1634

原创 Golang实现快速排序

定义快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序 n个项目要 O(n\log n)(大O符号)次比较。在最坏状况下则需要 O(n^{2})} {O(n^{2})次比较,但这种状况并不常见。事实上,快速排序 Theta (n\log n)通常明显比其他算法更快,因为它的内部...

2018-10-30 12:14:29 353 1

原创 Python实现快速排序

定义快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序 n个项目要 O(n\log n)(大O符号)次比较。在最坏状况下则需要 O(n^{2})} {O(n^{2})次比较,但这种状况并不常见。事实上,快速排序 Theta (n\log n)通常明显比其他算法更快,因为它的内...

2018-10-30 09:43:09 183

原创 Golang实现归并排序

定义归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法,效率为 O(n\log n)(大O符号)。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。操作递归法(Top-down)申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列...

2018-10-25 15:55:37 903

原创 Python实现归并排序

定义归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法,效率为 O(n\log n)(大O符号)。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。操作递归法(Top-down)申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列...

2018-10-23 16:39:55 113

原创 Golang实现堆排序

定义堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆节点的访问通常堆是通过一维数组来实现的。在数组起始位置为0的情形中:父节点i的左子节点在位置 (2i+1);父节点i的右子节点在位置 (2i+2);子节点i的父节点在位置 floor((i-1)/2);...

2018-10-18 11:45:11 480

原创 Python实现堆排序

定义堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆节点的访问通常堆是通过一维数组来实现的。在数组起始位置为0的情形中:父节点i的左子节点在位置 (2i+1);父节点i的右子节点在位置 (2i+2);子节点i的父节点在位置 floor((i-1)/2...

2018-10-18 11:41:50 115

原创 Golang实现插入排序

插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到 O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。**算法描述**一般来说,插入排序都采用in-pla...

2018-10-14 01:46:38 463 5

原创 Python实现插入排序

插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到 O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。**算法描述**一般来说,插入排序都采用in-pla...

2018-10-14 00:29:41 68

原创 Golang实现选择排序

@[Golang]Golang实现选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次...

2018-10-12 11:51:48 443

原创 python实现选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最...

2018-10-12 11:21:21 112

原创 python实现冒泡排序

冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序对{\displaystyle n}n个项目需要O({\displaystyle n{2}}n{2})的...

2018-10-12 11:19:03 273

原创 Golang实现冒泡排序

@[Golang]Golang实现冒泡排序// popUpSortingpackage mainimport ( &quot;fmt&quot;)func popupSort(col []int) []int { var n = len(col) if n &amp;lt;= 1 { return col } for i := 0; i &amp;lt; n; i++ { for j := n - 2...

2018-10-12 11:17:10 1018

空空如也

空空如也

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

TA关注的人

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