原创
朝阳映木
笨笨的企鹅w
展开
-
对所有排序算法的总结
对所有排序算法的总结算法复杂度与稳定性良心总结,如下图所示:排序算法的选择完善中。。。原创 2019-08-30 14:17:15 · 115 阅读 · 0 评论 -
随机——随机取点
随机取点这两天做了LeetCode上面关于Random的系列问题,虽然问题不多,但是能提供解决随机问题的经典思路——按权重采样和拒绝采样。我们这里只是讨论关于随机去点的基本问题,后面没时间的话,可能不会深究。Java Random API首先,当然是最经典的Math.random(); 返回[0,1)的一个double值,区间内任意一个点被取到的概率都是等可能的。double x...原创 2020-02-05 11:10:50 · 1101 阅读 · 0 评论 -
树(一)树的遍历
树的遍历近期参加复旦互联网协会的刷题营,所以我勉勉强强又开始做题啦。现在变得更务实啦,要想提升能力,超过别人就是要依靠一项项的指标的胜利,这样的评价是更加客观的。想要提升能力,一方面要靠平时的积累,另外一方面也要依靠瓶颈期的奋力一搏。当然,我的意思是更加侧重前者的。话不多说啦,开始今天的话题——树的遍历。如果用递归的方法是非常简单,也是非常推荐的。但是,用迭代的方法也不难!!!所以我决定在这里...原创 2020-01-31 12:19:02 · 393 阅读 · 0 评论 -
Java枚举变量各种招式
Java枚举变量此秘笈需要对类和方法的使用有基本了解。github地址:https://github.com/Java-A-2019/JavaEnum/tree/master使用场景1. 有很多种类的情况,但是简单地用1,2,3数字表达,又没有办法满足需要。比方说,我们约定1为空地,2为墙壁,一旦数量多起来,大家就会非常难受。因为大家记不住,不如用Land和Wall表示,这样有语...原创 2019-10-11 20:17:03 · 1470 阅读 · 0 评论 -
链表常见操作(二)哑表头与倒数K元素
哑表头与倒数K元素链表最大的好处是非常灵活,内存管理和增删都比较方便。弱点是查询的时候几乎没有捷径,必须遍历链表。以及,更改指针会把人弄晕。不过,链表的优点对我们来说太重要了,在JAVA方面内存管理实际上也是一个重要的话题,比如new int[10亿] (4GB 内存没了),java有自己的解决方案,比如链表和BitSet。OK,让我们继续熟悉链表吧!(PS: 这一篇很基础)哑链表头 - ...原创 2019-08-11 11:49:36 · 168 阅读 · 0 评论 -
链表常见操作(五)排序与递归
排序与递归 好像差不多了, 这是链表的最后一讲了. 这一讲主要讲链表的排序, 要知道, 链表中也存了数据, 既然存了数据, 就无法避免地要面临排序的问题. 那么, 堆排序? 插入排序? 还是归并排序? 还是快速排序呢? 让我们直接看看效果好了!链表排序插入排序法public ListNode sortList(ListNode head) { ListNod...原创 2019-08-14 14:36:18 · 321 阅读 · 0 评论 -
链表常见操作(四)修改指针与环操作
修改指针与环操作 OK, 八个空格, 我们继续学习链表常见操作. 接下来主要分为两个部分的内容, 第一个部分, 总结链表中修改指针的题目; 第二部分, 讲环形链表! 可能第二个部分比较有干货.链表问题的特性 - 修改指针 链表的问题实际上, 就是修改指针走向的问题. 很多时候多多画图, 用几个临时变量ListNode就可以解决了. 即使想要新建一个链表成本也...原创 2019-08-14 13:46:23 · 645 阅读 · 0 评论 -
链表常见操作(三)链表长度与翻转
链表长度与翻转 谨以此纪念我在某尼划水的时光! /手动滑稽 继续熟悉链表吧, 接下来介绍使用频率最高的两个操作, 获取链表长度和翻转链表. 真的很简单, 但是使用频率非常高!获取链表长度 首先, 很多人可能认为, 获取链表长度的复杂度是O(n), 代价很高. 其实不然, 我们用这个不等式作为复杂度的标尺: O(1) < O(logn)...原创 2019-08-14 11:33:48 · 855 阅读 · 0 评论 -
图系列(二)图的遍历与拓扑排序
图的遍历与拓扑排序好了,接下来是重中之重图的遍历。图遍历是很多其他算法的基础,比如Dijkstra算法。图的遍历广度优先遍历广度优先遍历的关键是需要借助一个队列。代码如下:class Solution { List<Integer>[] adjs; public void bfs(int n, int[][] edges) { //...原创 2019-08-18 20:15:24 · 665 阅读 · 0 评论 -
图系列(一)图的表示与入度
图的表示与入度 虽然好像没什么人看,但是我还是写一下,佛系。就当给自己做一个备忘录好了!总算,进入到图系列了。图的部分,问题很多,算法很多,应用也很广。图的两个比较重要的基石就是图的表示和图的遍历。有了这两个才能更好地搭建其他的算法。图的表示 我们知道G = (V, E),所以最原始的表示方式是,int n, int[][] edges。其中,n表示有n个节点...原创 2019-08-18 20:11:21 · 4968 阅读 · 0 评论 -
阿里云基础面试
1. c语言为什么还这么流行?c语言的应用场景在哪里? 附上链接:https://www.tomorrow.wiki/archives/1893,这篇文章真心不错。 首先,c语言的快是无法比拟的优势(但是个人觉得好用的话,还是java比较好用)。因此,C语言在快反应的需求上有很大的优势。并且,linux等有大量的c代码库,它们是基本无法重写的(代价太高昂)。应用场景:高...原创 2019-04-19 11:08:13 · 2129 阅读 · 0 评论 -
docker-compose部署Springboot+Mysql
感谢松鼠和健哥的指导!通过Docker进行一个简单的Jar包的部署。Jar包镜像的制作下面的项目会有一点点问题,就是docker-compose文件对不上,请参照下面的进行修改。此外,application.yml也必须进行相应的更改,需要更改的是数据库的username。City Service项目的github地址:https://github.com/zhaoyangyin...原创 2019-04-05 20:14:48 · 1105 阅读 · 0 评论 -
JavaScript 自定义模块 Self-Defined Module
为了节省大家的生命!!!本文比较简洁。Node.js自定义库1. 如下图,写好function,module.exports即可,当然也可以导出变量。 function直接写就好了,不用用对象什么的包过起来的。2.require(相对路径,包含“.js”),如下图。使用的方式,hello.hello();3. 运行结果4. 正在学微信小程序的朋友们注意了...原创 2019-03-16 21:05:51 · 652 阅读 · 0 评论