zoukankan      html  css  js  c++  java
  • 翻转对

    此博客链接:

    翻转对

    题目链接:https://leetcode-cn.com/problems/reverse-pairs/

    给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对。

    你需要返回给定数组中的重要翻转对的数量。

    示例 1:

    输入: [1,3,2,3,1]
    输出: 2
    示例 2:

    输入: [2,4,3,5,1]
    输出: 3
    注意:

    给定数组的长度不会超过50000。
    输入数组中的所有数字都在32位整数的表示范围内。

    题解

    思路:遍历数组,看数组前面的数字有多少大于后面数字的2倍。

    方法:

            1.遍历数组。

            2.判断数组前面的数字是否比后面数字的2倍大,如果是,则结果加一。

    代码

    出错

    1.两个数比较大小时,题目中有乘以2的操作,在整形范围内,乘以2会超出整形范围。

    2.在把前一个数字除以2时,结果会取整,导致最后的结果可能会少计算。例如前一个数是3,后一个数是1,如果3除以2,那就得1,结果1不比1大,这是不正确的。(除以2时,改成除以2.0,除的结果就是float类型)

    3.超时

    出来混总是要还的
  • 相关阅读:
    HDU 1068
    hdu6447
    HDU 6438
    网络赛的个人反思总结
    Bellman-ford 模板
    Pairs Forming LCM LightOJ
    POJ
    链式前向星
    POJ 3281 Dining
    游标遍历所有数据库循环执行修改数据库的sql命令
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/14051768.html
Copyright © 2011-2022 走看看