
leetcode总结
文章平均质量分 80
xushiyu1996818
这个作者很懒,什么都没留下…
展开
-
leetcode-数组总结
题26: 1. 考虑到leetcode测试用例,数组为空和长度为1的情况。 2. java队列最后一个的索引为长度-1,不能用arr[length]。原创 2018-07-24 16:06:15 · 4033 阅读 · 1 评论 -
leetcode 做的题目总结
完美完成的题目001-两数之和(two sum)-java(2,简单算法-数组)002-两数相加(add two numbers)-java(2,中级算法-链表)008-字符串转整数 (atoi)(String to Integer)-java(2,简单算法-字符串)013-罗马数字转整数(roman to integer)-java(2,简单算法-数学)01...原创 2019-06-13 11:18:07 · 769 阅读 · 1 评论 -
外部排序算法总结
目录多路归并排序基本思想两两归并排序多路归并排序胜者树败者树败者树的建立与调整败者树的java代码败者树的效率 我们一般提到排序都是指内排序,比如快速排序,堆排序,归并排序等,所谓内排序就是可以在内存中完成的排序。RAM的访问速度大约是磁盘的25万倍,我们当然希望如果可以的话都是内排来完成。但对于大数据集来说,内存是远远不够的,这时候就涉及到外排序的知识了...原创 2018-12-10 11:18:52 · 27403 阅读 · 2 评论 -
十大排序算法总结 内部排序
目录排序测试模板一、冒泡排序总体思想编程思想复杂度及优缺点优化二、选择排序总体思想编程思想复杂度及优缺点三、插入排序总体思想编程思想复杂度及优缺点四、希尔排序总体思想编程思想复杂度及优缺点五、归并排序总体思想编程思想复杂度及优缺点六、快速排序总体思想编程思想复杂度及优缺点七、堆排序总体...原创 2018-12-10 09:42:37 · 6496 阅读 · 2 评论 -
leetcode-回溯算法总结
leetcode-17-电话号码的字母组合(letter combination of a phone number)-java在类中建立一个数字对应字母的map,和对应的结果list方法1:进入combine("",digits)第一个字符串为当前字符串,后面的为还能加上的数字字符串每次从数组字符串中取最前一位,得到对应的char数组,将nowStr+对应的数组(用for循环,分别...原创 2018-11-22 10:39:32 · 1052 阅读 · 1 评论 -
leetcode-图总结
leetcode-200-岛屿的个数 (number of islands)-java方法1:深度优先遍历设置hasGone二维数组,使用深度优先遍历,将周围是1的都遍历到,并且设置hasGone为true。从主方法开始,遍历过几次,就有几个岛屿(因为遍历第一个岛屿,会将岛屿所有连接的地方都设为true,那些地方不会再从主方法遍历)也可以把访问过的改为‘0’,继续遍历。方法2:...原创 2018-11-21 09:56:00 · 1286 阅读 · 0 评论 -
leetcode-分治算法
leetcode-53- 最大子序和(maximum subarray)-java分治法:思路:假设数组下标有效范围是l到r,将数组分为左半部分下标为(l,mid-1)和右半部分下标为(mid+1,r)以及中间元素下标为mid,接下来递归求出左半部分的最大子序和:left=helper(nums,l,mid-1); 右半部分最大子序和right=helper(nums,mid+1,r);接下来再...原创 2018-10-09 11:33:04 · 369 阅读 · 0 评论 -
leetcode-动态规划总结
leetcode-70-爬楼梯(climbing trees)-java爬楼梯的三种解法1 简单的递归算法return climbStairs(n-1)+climbStairs(n-2); 速度是o(2^n),速度很慢2 动态规划,也是备忘录算法有一个hashmap存放之前得出的值if(map.containsKey(n)){ return map.get(n); ...原创 2018-09-30 10:28:42 · 1791 阅读 · 1 评论 -
leetcode-数学总结
leetcode-412 -Fizz Buzz-(fizz bzz)-java解法1(成功,6ms,较慢)不用对数进行mod,直接设置mod参数,mod3,mod5,每次+1,到3,5,为0其余剩余别人的做法是直接对i%3的做法还有i变为string类型除了string.valueof(i) 还有i+"&am原创 2018-10-15 09:44:14 · 719 阅读 · 1 评论 -
leetcode-搜索总结
leetcode-278-第一个错误的版本(first bad version)-java二分查找法中,mid不能用int mid=(begin+last)/2;要用int mid=begin+(last-begin)/2;因为第一种情况begin+last可能会溢出,导致出错...原创 2018-09-29 10:57:31 · 403 阅读 · 1 评论 -
leetcode-栈总结
leetcode-155-最小栈(min stack)-java解法1(用2个栈)由于用常数时间得到最小值,显然要以空间换时间设置两个stack,一个为数的stack,一个为此时min的stack插入一个数,如果它比min的top都小,则min add 它 否则 add min的top解法2(一个栈,一个min)在入栈时,如果这个元素比最小值小,那么,我们让最小值入栈,然后将元素值赋给...原创 2018-10-12 09:57:39 · 522 阅读 · 0 评论 -
leetcode-二叉树总结
leetcode-104-二叉树的最大深度(maximum depth of binary tree)查询树的深度,一般有两种方法第一种,递归,长度=当前长度(1)+左右子树的max长度第二种,一层层遍历,next为now的左右子树,然后now=next,直到now为空...原创 2018-09-18 14:51:55 · 503 阅读 · 0 评论 -
leetcode-排序总结
leetcode-88-合并两个有序数组(merge sorted array)-java排序两个数组如果合成的那一列前面有必要的数据,后面没有,那么可以由后向前排序原创 2018-09-27 10:40:33 · 328 阅读 · 0 评论 -
leetcode-链表总结
leetcode-237-删除链表中的节点(delete node in a linkedlist)-java 单向链表中,如果给定链表中的一个节点,不给这个之前的,想要影响之前的,只能把自己改变。 比如要删掉自己,只能把自己变成下一个...原创 2018-08-27 11:32:29 · 489 阅读 · 1 评论 -
leetcode-字符串总结
leetcode-344-反转字符串(reverse string)-java 字符串是一个整体,如果对字符串内部进行操作,可以用stringbuilder,也可以将string转为char数组,这个方法更为灵活...原创 2018-08-10 11:45:36 · 1170 阅读 · 1 评论 -
leetcode-位运算
leetcode-191-位1的个数(number of one bits)-java与1与运算,为1为奇数,为0位偶数之后n>>2,相当于/2将>>改为>>>因为>>如果全为1(也就是-1)的话0不会填位,而&a原创 2018-10-18 10:00:46 · 404 阅读 · 0 评论