算法
锦瑟无端pph
这个作者很懒,什么都没留下…
展开
-
力扣递归实现反转字符串--Java实现
public class Solution { public void reverseString(char[] s) { int high=s.length-1; reverset(s,0,high); } private void reverset(char[] s,int low,int high){ if(low==...原创 2019-08-29 21:34:36 · 402 阅读 · 0 评论 -
Java实现两两交换链表的节点
思路来自LeetCode/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListN...原创 2019-08-29 22:09:25 · 324 阅读 · 0 评论 -
两数相加--Java实现
leetcode官方的方法,比我一开始想的好了不知道多少倍。思路我们使用变量来跟踪进位,并从包含最低有效位的表头开始模拟逐位相加的过程。对两数相加方法的可视化: 342 + 465 = 807342+465=807,每个结点都包含一个数字,并且数字按位逆序存储。算法就像你在纸上计算两个数字的和那样,我们首先从最低有效位也就是列表 l1l1 和 l2l2 的表头开始相加。由于...转载 2019-08-29 22:33:14 · 826 阅读 · 0 评论 -
《剑指Offer》中面试题11:旋转数组最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路从代码能清楚地读出来Java代码:public int minNumberInRotateArray(in...原创 2019-08-30 20:20:26 · 125 阅读 · 0 评论 -
非递归斐波那契数列问题
递归可以实现该问题,但是效率非常低看了《剑指Offer》,觉得用循环实现更加合适,时间复杂度为O(n)public int Fibonacci(int n) { int[] result={0,1}; if(n<2) return result[n]; int fibonacci1=1; int fibonacci2=...原创 2019-08-30 20:36:02 · 115 阅读 · 0 评论