美文网首页
Lintcode Naive题

Lintcode Naive题

作者: 吕逸涛任春晚 | 来源:发表于2016-08-13 23:49 被阅读0次

    366 Fibonacci

    题目最初、最容易想到的解法是利用递归,即(fibonacci(n-1) + fibonacci(n-2)),这种解法会在提交的时候报时间复杂度过高。

    因此只能用按照题目中的书面意思翻译成代码的方式写出答案。

        public int fibonacci(int n)
        {
            int a = 0;
            int b = 1;
            int temp;
            for (int i = 1; i < n; i ++)
            {
                temp = b;
                b = a + b;
                a = temp;
            }
            return a;
        }
    

    452 Remove Linked List Elements

    题目最容易想到的是其一般情况,即需要移除非头部的元素。基本方法就是遍历LinkedList,如果下一个元素的值等于需要移除的值,就把本元素的next指针指向下下个元素。

    对于特例情况,可以在LinkedList头部再加一个dummy的元素,指向head,最后返回的时候,将dummy.next返回回去。

    public ListNode removeElements(ListNode head, int val) 
    {
            ListNode dummy = new ListNode(0);
            dummy.next = head;
            head = dummy;
    
            while (head.next != null)
            {
                if (head.next.val == val)
                {
                    head.next = head.next.next;
                }
                else
                {
                    head = head.next;
                }
            }
            return dummy.next;
        }
    

    463 Sort Integers

    用任意一个排序算法即可

    相关文章

      网友评论

          本文标题:Lintcode Naive题

          本文链接:https://www.haomeiwen.com/subject/kmrysttx.html