算法
文章平均质量分 70
MuLiang_AiJi
这个作者很懒,什么都没留下…
展开
-
求两个数的最大公因数
欧几里得算法。给定两个数m,n,假设: m > n.其实就是不断的用 m对n取模,然后让m值取n的值,而n的值变为(m%n)的余数,直到n=0为止,这时的m就是它们的最大公因数了。就比如:m = 15, n = 10;第一次: temp = m % n = 5; m = n = 10; n = temp = 5;第二次:原创 2017-09-11 10:10:59 · 1009 阅读 · 0 评论 -
求序列的最大子序列和的问题
给定任意序列: A_1,A_2,A_3,...,A_N...求解 : A_i...A_j的和的最大值(1 这里分为递归和非递归两种方法实现。其中非递归实现的方法更优(复杂度O(N) )。对于这个问题,一开始很容易想到用两个循环嵌套,逐一去遍历以序列每一个元素为起点的子序列的和,从而去求出最大子序列和的问题public int maxSubSum1(int[] arr) { in原创 2017-09-11 10:29:40 · 410 阅读 · 0 评论 -
求阶乘以及求各项阶乘和问题
下午做了一道笔试题,试求各项阶乘和的问题,也就是求 : 1! + 2! + ... + n!。一开始没什么思路,那就想着暴力求。。。就是从1~n,求每一项的阶乘,再求和,效率肯定低,当时脑子浑噩,脑子里想着这样肯定是有重复相乘的,但就是没能想出优化的T_T好吧,那就先来暴力求解吧。关于求阶乘的,用了递归求解(关键当时递归还给漏了个n,还是渣啊),想到可能会数很大,就暂时用了long型/** *...原创 2017-09-11 17:13:35 · 1326 阅读 · 0 评论 -
输入一个链表,输出该链表中倒数第k个结点。
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode FindKthToTail(ListNode head,int...原创 2018-04-02 21:49:12 · 556 阅读 · 0 评论 -
删除有序链表中重复的节点
题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。非递归实现:/* public class ListNode { int val; ListNode next = null; ListNode(...原创 2018-04-02 21:52:29 · 222 阅读 · 0 评论 -
Hash方法实现复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。/*public class RandomListNode { int label; RandomListNode next = null; Rand...原创 2018-04-04 11:08:02 · 623 阅读 · 0 评论