자바 기반 주식 매매 최 적기 계산

이 글 은 주로 자바 기반 으로 주식 을 매매 하 는 가장 좋 은 시 기 를 소개 하 였 으 며,예시 코드 를 통 해 매우 상세 하 게 소개 하 였 으 며,여러분 의 학습 이나 업무 에 대해 어느 정도 참고 학습 가 치 를 가지 고 있 으 며,필요 한 친 구 는 참고 할 수 있 습 니 다.
질문:

문 제 를 다음 그림 에서 보 듯 이 여러 개의 누적 수입 차 를 구 하 는 것 으로 바 꿀 수 있다.

분석:
현재 위치 i 의 가격 이 i+1 의 가격 보다 높 으 면 현재 매입 점 이 아니면 다음 위 치 를 계속 판단 합 니 다.
현재 위치 i 의 가격 이 i+1 의 가격 보다 낮 고 i+1 이 i+1+1 보다 낮 으 면 현재 위치 에서 구 매 하여 i+n 이 i+n+1 보다 크다 는 것 을 알 았 을 때 판매 합 니 다.
다음 판단 을 계속 하 다

package com.example.demo;

public class Test121 {

  /**
   *   
   *
   * @param prices
   * @return
   */
  public int maxProfit(int[] prices) {
    if (prices == null || prices.length == 0) {
      return 0;
    }
    int cur = 0;
    int vally = prices[0];
    int peak = 0;
    int income = 0;
    while (cur < prices.length - 1) {
      //     ,  
      while (cur < prices.length - 1 && prices[cur] >= prices[cur + 1]) {
        cur++;
      }
      vally = prices[cur];
      //        (    ,  )
      while (cur < prices.length - 1 && prices[cur] <= prices[cur + 1]) {
        cur++;
      }
      peak = prices[cur];
      income += peak - vally;
      //    cur       ,        
    }
    return income;
  }

  public static void main(String[] args) {
    Test121 t = new Test121();
    int[] arr = {7, 1, 5, 3, 6, 4};
    int i = t.maxProfit(arr);
    System.out.println(i);
  }
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기