题解 | #买卖股票的最好时机(一)#

买卖股票的最好时机(一)

http://www.nowcoder.com/practice/351b87e53d0d44928f4de9b6217d36bb

import java.util.*;

public class Main {
    public static void main(String[] args) {

        // 以下代码用户获取输入数据
        Scanner scan = new Scanner(System.in);
        String nStr = scan.nextLine(); // 输入一个正整数 n
        int n = Integer.valueOf(nStr); // 将 String 类型转换为 int 类型
        String numsStr = scan.nextLine(); // 输入 n 个正整数
        String[] numsStrList = numsStr.split(" ");
        int[] nums = new
        int[numsStrList.length]; // 定义一个整型变量,用于存放这 n 个正整数
        for (int i = 0; i < nums.length; i++) {
            nums[i] = Integer.valueOf(numsStrList[i]);
        }

        // 以下代码是 买卖股票的最好时机(一) 的具体实现
        // 一些特殊情况的处理
        if (1 == nums.length) {
            System.out.println(0);
            return;
        }

        int rs = nums[1] - nums[0];
        int now = nums[1] - nums[0];
        int pre = nums[1] - nums[0];
        for (int i = 1; i < nums.length - 1; i++) {
            if (pre <= 0) {
                now = nums[i + 1] - nums[i];
            } else {
                now = pre + nums[i + 1] - nums[i];
            }
            pre = now;
            rs = Math.max(rs, now);
        }
        System.out.println(rs > 0 ? rs : 0);
    }
}
全部评论

相关推荐

评论
1
收藏
分享
牛客网
牛客企业服务