上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页

2018年4月9日

颠倒整数

摘要: 给定一个 int 整数,将其颠倒。假设只能处理 32 位 int 范围内的整数。根据这个假设,如果颠倒后的结果超过这个范围,则返回 0。 123 -> 321 -123 -> -321 120 -> 21 实现方法较为简单,代码如下: if (result>Integer.MAX_VALUE/10 阅读全文

posted @ 2018-04-09 20:05 Deltadeblog 阅读(115) 评论(0) 推荐(0) 编辑

2018年4月8日

两数相加

摘要: 给定两个非空链表来代表两个非负整数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 定义进位变量carry,记录每次相加的进位情况。 两个链表的长度可能不同,可以使用null代替没有的节点,使用0 阅读全文

posted @ 2018-04-08 21:26 Deltadeblog 阅读(577) 评论(0) 推荐(0) 编辑

2018年4月1日

两数之和 Two Sum

摘要: 给定一个整数数列,找出其中和为特定值的那两个数。 你可以假设每个输入都只会有一种答案,同样的元素不能被重用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 方法一 使用i,j 阅读全文

posted @ 2018-04-01 21:12 Deltadeblog 阅读(161) 评论(0) 推荐(0) 编辑

2018年3月27日

坐标判断正方形

摘要: 由四个点的坐标判断其是否构成一个正方形 判断方法:四条边相等且两个对角线相等。 int[][] a = new int[2][4] x0 x1 x2 x3 y0 y1 y2 y3 int[] len = new int[6] 实现流程: 计算任意两个节点间的距离存入len数组中 对数组len进行排序 阅读全文

posted @ 2018-03-27 21:31 Deltadeblog 阅读(1224) 评论(0) 推荐(0) 编辑

java hashCode

摘要: hashCode是一个对象的散列码,简单的说就是通过哈希算法算出来的一大窜数字之类的东西. 如果对象1和对象2相等,说明他们的散列码相等,反过来就不一样了! hashcode可以减少equals比较的次数,提高运算效率。 哈希算法并不是一个特定的算法而是一类算法的统称。哈希算法也叫散列算法,一般来说 阅读全文

posted @ 2018-03-27 19:50 Deltadeblog 阅读(197) 评论(0) 推荐(0) 编辑

Java HashMap原理

摘要: HashMap存储结构 HashMap中数据的存储是由数组与链表一起实现的 数组寻址非常容易,其时间复杂度为O(1),但是当要插入或删除数据时,时间复杂度就会变为O(n)。链表插入和删除操作的内存复杂度为O(1),但是寻址操作的复杂度却是O(n)。HashMap结合两者的优点,即寻址,插入删除都快。 阅读全文

posted @ 2018-03-27 19:07 Deltadeblog 阅读(150) 评论(0) 推荐(0) 编辑

2018年3月22日

上台阶问题

摘要: 有n阶台阶,上楼时可以一步上1阶,也可以一步上2阶,计算共有多少种不同的上楼梯的方法。 设n阶台阶共有f(n)种不同的上楼梯方法。 因为共有两种不同的步伐,故上n阶台阶的最后一步有两种情况:从n-1阶处跨一步(上1阶),从n-2阶处跨一步(上2阶)。由此f(n) = f(n-1) + f(n-2)。 阅读全文

posted @ 2018-03-22 21:49 Deltadeblog 阅读(760) 评论(0) 推荐(0) 编辑

2018年3月18日

排序算法总结

摘要: 快速排序的空间复杂度为什么是logN? 快速排序的递归代码如下: 每次递归都会返回一个中间值的位置 j , 必须使用栈存储,所以空间复杂度就是栈用的空间(栈中存储j的个数)。 j所占用栈的空间大小为 logN,这里计算栈中存储j的个数这需要考虑 递归调用 sort(a, lo, j-1) 即可,因为 阅读全文

posted @ 2018-03-18 15:22 Deltadeblog 阅读(124) 评论(0) 推荐(0) 编辑

2018年3月17日

二叉堆排序

摘要: 二叉堆的内容详见上篇http://www.cnblogs.com/deltadeblog/p/8576488.html 可以利用二叉堆对数组排序,主要包含两步:将原始数组重新组织使之成为二叉堆;数组的第一个元素为最大或最小,取出后对数组使用sink()函数保持堆有序,依次进行。 堆的构造 将一个包含 阅读全文

posted @ 2018-03-17 21:10 Deltadeblog 阅读(311) 评论(0) 推荐(0) 编辑

2018年3月16日

二叉堆

摘要: 二叉堆即是完全二叉树实现的堆,在二叉堆中每个节点总是大于等于其任意一个子节点。根结点是二叉堆中最大的节点。 数组实现二叉堆 完全二叉树可以用数组实现,根结点的位置为1,其子节点为2、3。位置为k的节点,其两个子节点位置为2k、2k+1 。同理,位置为k的节点,其父节点的位置为k/2 。 算法实现 使 阅读全文

posted @ 2018-03-16 16:35 Deltadeblog 阅读(370) 评论(1) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页

导航