美文网首页
2020-01-10 3Sum

2020-01-10 3Sum

作者: _伦_ | 来源:发表于2020-01-10 12:51 被阅读0次

不知道为什么注释掉do {right--;} while(right > 0 && nums[right] == nums[right + 1]);以及// do {left++;} while(left < nums.length && nums[left] == nums[left - 1]);,运行时间就从34ms降到24ms,从打败50%左右编程打败90%以上

class Solution {

    public List<List<Integer>> threeSum(int[] nums) {

        List<List<Integer>> results = new LinkedList<>();

        Arrays.sort(nums);

        for (int first = 0; first < nums.length - 2 && nums[first] <= 0; first++) {

            if (first == 0 || nums[first] != nums[first - 1]) {

                int left = first + 1, right = nums.length - 1;

                while (left < right) {

                    if (0 - nums[first] - nums[left] < nums[right])

                        // 为什么注释掉这句会快很多?

                        // do {right--;} while(right > 0 && nums[right] == nums[right + 1]);

                        right--;

                    else if (0 - nums[first] - nums[left] > nums[right])

                        // do {left++;} while(left < nums.length && nums[left] == nums[left - 1]);

                        left++;

                    else {

                        results.add(Arrays.asList(new Integer[]{nums[first], nums[left], nums[right]}));

                        do {left++;} while(left < nums.length && nums[left] == nums[left - 1]);

                        do {right--;} while(right > 0 && nums[right] == nums[right + 1]);

                    }

                }

            }

        }

        return results;

}

相关文章

  • 2020-01-10 3Sum

    不知道为什么注释掉do {right--;} while(right > 0 && nums[right] == ...

  • Leetcode - Array [持续更新]

    15. 3Sum --- Medium[https://leetcode.com/problems/3sum/]1...

  • 15. 3Sum

    15. 3Sum 题目:https://leetcode.com/problems/3sum/ 难度: Mediu...

  • 15. 三数之和

    题目地址(3sum/">15. 三数之和) https://leetcode.cn/problems/3sum/[...

  • KMP

    2020-01-10 https://www.zhihu.com/question/21923021 https:...

  • 16. 3Sum Closest

    与3Sum思路相同

  • 数组

    数组题目总结 sum类型的题 leetcode 2sum leetcode 15. 3Sum思路:将3sum转化成...

  • 2020-01-13

    2020-01-10 谢总、陈总莅临卢雪剪纸展览馆参观

  • 临时记录_C++容器相关

    - [2020-01-10 五 11:53] 第9章 顺序容器 vector,随机访问、大...

  • 临时记录_C++容器相关

    - [2020-01-10 五 11:53] 第9章 顺序容器 vector,随机访问、大...

网友评论

      本文标题:2020-01-10 3Sum

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