算法
梦想着破蛹而出的毛毛虫
这个作者很懒,什么都没留下…
展开
-
单链表翻转
单链表翻转是一道很简单的题目,但是对于coding能力较弱的同学来说,还是有难度的,这里提供一个解决方案,空间复杂度为O(1)。 public Node reverList(Node head){ if(head == null){ return null; } Node cur = head,pre=null; ...原创 2018-09-17 10:56:28 · 108 阅读 · 0 评论 -
给定一个未排序的数组,求如果数组排序之后,相邻数的最大差值。
给定一个未排序的数组,求如果数组排序之后,相邻数的最大差值。要求时间复杂度为O(n),且要求不能用非基于比较的排序。 首先,这个问题明显限制了不能使用直接排序的方式求解。因为基于比较的排序时间复杂度最低也是O(nlogn),而且题目限制不能使用非基于比较的排序。所以我们需要另想思路。 我们可以看到上面的解题思路,首先我们遍历一次数组,得到数组中的max和min。把(max-min)切分为N...原创 2018-09-10 11:21:34 · 1635 阅读 · 0 评论 -
Leetcode精选之ID33 搜索排序数组
leetcode 33:搜索旋转排序数组 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。 示例 1: 输入...原创 2018-10-29 09:44:48 · 240 阅读 · 0 评论 -
剑指offer之 字符串转数字(java实现)
字符串转换成数字: 这个问题主要是处理边界和非法输入比较麻烦。 public int strToInt(String str) { if (str == null || str.trim().isEmpty()) { throw new RuntimeException("输入错误,无法转换成字符串"); } char[] c...原创 2018-10-29 09:47:33 · 3158 阅读 · 0 评论