
LeetCode
匍匐-菜鸟
好好做一件事,好好做下去
展开
-
每日LeetCode之两整数相除
原题链接:https://leetcode-cn.com/submissions/detail/3096732/解决方案一:采用二分法,能够较快的解决不采用除法,乘法以及mod方法来计算两个整数的除法的问题。 public int divide(int dividend, int divisor) { //判断最终结果的正负性 boolean isPositiv...原创 2018-06-11 16:32:24 · 1519 阅读 · 1 评论 -
每日LeetCode之 字符串转整数(atoi)
原题链接:https://leetcode-cn.com/problems/string-to-integer-atoi/description/解决方案: public int myAtoi(String str) { if(str.isEmpty()) return 0; int flag =1,i...原创 2018-06-10 18:34:12 · 1159 阅读 · 0 评论 -
LeeteCode 之 递归回溯法总结(组合问题)
首先参考下面的原题,关于电话号码摁键上的字母的组合问题:Leet Code 17https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/description/本意是根据输入的字符串形式的数字,对应数字输出所有的可能性的组合,当然首先想到的可以通过循环的方式进行,建立好对照的简单的字典表之后就可以通过循环索引对应...原创 2018-06-18 20:56:29 · 874 阅读 · 0 评论 -
LeetCode算法之链表总结--删除类操作,回环链表
链表是数据结构中较为基础的一种数据结构,其在我们日常的开发中用的比较多,关于链表的一些基础知识,我在我之前的博客中已经介绍过,并且也做了一些简单的实现,然而这个博客主要是讲链表的应用问题,具体体现为在LeetCode上面与链表相关的题目做了一些总结,如果错误,还希望各位不吝,给予指正。链表相关知识可参考此链接。闲话不多说直接上题目进行分析:第一类,改变单个链表的结构的,这...原创 2018-09-11 17:18:54 · 288 阅读 · 0 评论 -
二叉堆,堆排序,d叉堆
堆,这是经常听到的一个数据结构,其非常的重要,重要性就不闲扯了,这次主要说明堆的数据结构,堆一般可以分为大顶堆和小顶堆,顾名思义,也就是最大值或者是最小值在第一个位置,需要说明的是这不是我们自己规定了,而是由于堆的性质决定了,在堆中,子节点的值一定要小于父节点(当堆为小顶堆时),堆包括堆的变形以及使用都紧紧围绕这个核心来展开。 堆可以存在数组中,一般的在数组中,若某个i节点为父节...原创 2018-11-20 22:13:24 · 1138 阅读 · 1 评论 -
排序算法整理小结(归并排序)
排序算法,说真的,就是一个排列顺序的算法,有些废话了哈,不过话说回来,顺序对于我们实现某些功能有很大的帮助,然而如何能够快速的将一个无序数列排列好呢?这次整理了几种排序方法,总结讲述了一下实现的原理以及过程,话比较直接,相信各位看官看代码也许比我说要好得多,直接开始吧。1.归并排序 单单看这个名字,归并,归并什么呢,当然是归并我们要排列的数列,或者某个含有顺序的内容串,那为...原创 2018-11-22 17:25:29 · 416 阅读 · 0 评论 -
排序算法整理小结(快速排序)
快速排序 说到快速排序算法,可能我们会了解到其最坏的运行时间为O(n*n),但是对于其平均性能为O(nlgn),正是这一点使得其被广泛的使用,另一个重要的特点就是,其能够进行原地排序,能够尽可能的减少空间的占用,尽可能的减小算法使用的空间。说了这么多理由,那么到底是怎么一回事,或者到底是怎么样的呢? 其核心部分就是选取一个元素,将大于它的放置到右边,将小于它的放置到...原创 2018-11-22 19:18:58 · 231 阅读 · 0 评论 -
排序算法整理小结(基数排序,计数排序,桶排序)
这次整理的为三个原理上相近的排序算法,便于比较对比分析,通过他们之间的不同理解三个算法的特点,从而能够设计出符合三者的算法。首先呢,这三个算法都不是基于比较的算法,这和前面的那些算法不同,其核心内容不再通过比较然后交换两者的位置了,而这次要说的是在排序的时候将其顺序和“桶”的顺序相关联起来,通过不同的排序规则,进行排序,然后按照顺序进行输出,这些就是此三类算法的大致流程。计数排序 ...原创 2018-11-23 15:04:31 · 268 阅读 · 0 评论