9.11小米第二题超时牛友们看看怎么优化

1.最大连续子序列之和
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String str = sc.nextLine();
            String[] s = str.split(" ");
            Set<Integer> set = new TreeSet<>();
            for (int i = 0; i < s.length; i++) {
                int sum = 0;
                for (int j = i; j < s.length; j++) {
                    sum += Integer.valueOf(s[j]);
                    set.add(sum);
                }
            }
            Object[] num = set.toArray();
            Arrays.sort(num);
            System.out.println(num[num.length-1]);

        }

    }

}
2.利润最大化
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
米兔是一个投资人,持有着小米的股票。股票价格每日都有波动,数组price代表了每日股票的具体价格,其中price[i]代表小米在第i天的股价。米兔最多可以进行两次交易(一个买进,卖出为一次交易)并且不能同时进行两次交易(必须在再次购买前出售掉之前的股票),米兔想知道他最多能够获得多少利润呢?
输入
正整数序price,代表了股票价格。其中第i个数代表了第i天的价格。
输出
两次交易后能获得的最大利润
样例输入
2 1 5 0 2 3 1 4
样例输出
8
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String str = sc.nextLine();
            String[] s = str.split(" ");
            List list = new ArrayList();
            for (int i = 0; i < s.length; i++) {

                for (int j = i; j < s.length-1; j++) {

                    if(Integer.valueOf(s[i]) < Integer.valueOf(s[j+1])){
                        list.add(Math.abs(Integer.valueOf(s[i])-Integer.valueOf(s[j+1])));
                    }
                }
            }
            Object[] num = list.toArray();
            Arrays.sort(num);
            String num1 = num[num.length-1].toString();
            String num2 = num[num.length-2].toString();
            int value = Integer.valueOf(num1) + Integer.valueOf(num2);
            System.out.println(value);
        }
    }

}




#小米##笔试题目#
全部评论
leetcode121
点赞 回复 分享
发布于 2019-09-11 21:50
好像都是leetcode原题啊?。。。。
点赞 回复 分享
发布于 2019-09-11 21:45

相关推荐

白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务