Max profit from buying and selling stocks once

Run Settings
LanguageJava
Language Version
Run Command
class Main { /* Given an array prices where prices[i] is the price of a given stock on the ith day, you want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock. Return the maximum profit you can achieve from this transaction. If you cannot achieve any profit, return 0. prices = [7, 1, 5, 3, 6, 4] output --> 5 */ // conditonal - if less than 2 days then no profit // min price --> first day, max price =0 // iterate prices array frpm 2day // update min price so far //calculate profiy sold on current day // calculatye max profit on current day is more then return max profit public static int maxProfit(int[] prices){ if(prices == null || prices.length < 2){ return 0; } int minPrice = prices[0]; int maxPrice = 0; for(int i =1; i<prices.length; i++){ minPrice = Math.min(minPrice, prices[i]); int profit = prices[i] - minPrice; maxPrice= Math.max(maxPrice, profit); } return maxPrice; } public static void main(String[] args) { int[] prices = {7,1,5,3,6,4}; int result = maxProfit(prices); System.out.println(result); } }
Editor Settings
Theme
Key bindings
Full width
Lines