ಸ್ಟಾಕ್ II ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರವನ್ನು ಖರೀದಿಸಲು ಮತ್ತು ಮಾರಾಟ ಮಾಡಲು ಉತ್ತಮ ಸಮಯ


ತೊಂದರೆ ಮಟ್ಟ ಸುಲಭ
ಆಗಾಗ್ಗೆ ಕೇಳಲಾಗುತ್ತದೆ ಅಮೆಜಾನ್ ಡಿಇ ಶಾ ಫೇಸ್ಬುಕ್ ಮೈಕ್ರೋಸಾಫ್ಟ್ ಮಾರ್ಗನ್ ಸ್ಟಾನ್ಲಿ ಉಬರ್
ಅರೇ ದುರಾಸೆ

ಸಮಸ್ಯೆ ಹೇಳಿಕೆ

“ಸ್ಟಾಕ್ II ಅನ್ನು ಖರೀದಿಸಲು ಮತ್ತು ಮಾರಾಟ ಮಾಡಲು ಉತ್ತಮ ಸಮಯ” ಎಂಬ ಸಮಸ್ಯೆಯಲ್ಲಿ, ನಮಗೆ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನೀಡಲಾಗುತ್ತದೆ, ಅಲ್ಲಿ ರಚನೆಯ ಪ್ರತಿಯೊಂದು ಅಂಶವು ಆ ದಿನದಂದು ಕೊಟ್ಟಿರುವ ಸ್ಟಾಕ್‌ನ ಬೆಲೆಯನ್ನು ಹೊಂದಿರುತ್ತದೆ.

ವ್ಯಾಖ್ಯಾನ ವ್ಯವಹಾರ ಷೇರುಗಳ ಒಂದು ಪಾಲನ್ನು ಖರೀದಿಸುತ್ತಿದೆ ಮತ್ತು ಆ ಒಂದು ಪಾಲನ್ನು ಮಾರಾಟ ಮಾಡುತ್ತಿದೆ.

ಈ ಕೆಳಗಿನ ನಿರ್ಬಂಧಗಳ ಅಡಿಯಲ್ಲಿ ಗರಿಷ್ಠ ಲಾಭವನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ನಮ್ಮ ಕಾರ್ಯ:

  1. ನಾವು ಹಿಂದಿನ ಸ್ಟಾಕ್ ಅನ್ನು ಮಾರಾಟ ಮಾಡದಿದ್ದರೆ ನಾವು ಹೊಸ ಸ್ಟಾಕ್ ಖರೀದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅದು ಒಂದು ಸಮಯದಲ್ಲಿ ನಾವು ಒಂದು ಸ್ಟಾಕ್ ಅನ್ನು ಹೊಂದಬಹುದು.
  2. ನಾವು ಬಯಸಿದಷ್ಟು ವಹಿವಾಟುಗಳನ್ನು ಮಾಡಬಹುದು.

ಉದಾಹರಣೆ

prices = [7,1,5,3,6,4]
7

ವಿವರಣೆ: ಪಡೆಯಬಹುದಾದ ಗರಿಷ್ಠ ಲಾಭ 7. ವಹಿವಾಟಿನ ವಿವರ ಹೀಗಿದೆ:

ಮೊದಲ ದಿನ: ವಿಶ್ರಾಂತಿ

ಎರಡನೇ ದಿನ: ಖರೀದಿಸಿ

ಮೂರನೇ ದಿನ: ಮಾರಾಟ

ನಾಲ್ಕನೇ ದಿನ: ಖರೀದಿಸಿ

ಐದನೇ ದಿನ: ಮಾರಾಟ

ಆರನೇ ದಿನ: ವಿಶ್ರಾಂತಿ

ಸ್ಟಾಕ್ II ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರವನ್ನು ಖರೀದಿಸಲು ಮತ್ತು ಮಾರಾಟ ಮಾಡಲು ಉತ್ತಮ ಸಮಯಕ್ಕಾಗಿ ಅನುಸಂಧಾನ

ವಹಿವಾಟಿನ ಸಂಖ್ಯೆಯಲ್ಲಿ ನಮಗೆ ಯಾವುದೇ ನಿರ್ಬಂಧಗಳಿಲ್ಲದ ಕಾರಣ ನಾವು ಒಂದು ಬಗ್ಗೆ ಯೋಚಿಸುತ್ತೇವೆ ದುರಾಸೆಯ ಅಲ್ಗಾರಿದಮ್ ಇಲ್ಲಿ. ಆದ್ದರಿಂದ ಪ್ರತಿ ಬಾರಿಯೂ ನಾವು ಸ್ಟಾಕ್ ಅನ್ನು ಕನಿಷ್ಠ ಬೆಲೆಗೆ ಖರೀದಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ಗರಿಷ್ಠ ಬೆಲೆಗೆ ಮಾರಾಟ ಮಾಡುತ್ತೇವೆ. ಪ್ರತಿ ಮಿನಿಮಾದಲ್ಲಿ ನಾವು ಸ್ಟಾಕ್ ಅನ್ನು ಖರೀದಿಸುತ್ತೇವೆ ಮತ್ತು ಪ್ರತಿ ಮ್ಯಾಕ್ಸಿಮಾದಲ್ಲಿ ನಾವು ಸ್ಟಾಕ್ ಅನ್ನು ಮಾರಾಟ ಮಾಡುತ್ತೇವೆ ಎಂದು ನಾವು ಇದನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಹೇಳಬಹುದು. ಇದನ್ನು ಕೆಳಗೆ ನೀಡಲಾದ ಚಿತ್ರದಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ. ಇದು ಸ್ಟಾಕ್ ಬೆಲೆ ಮತ್ತು ದಿನಗಳ ನಡುವಿನ ಕಥಾವಸ್ತುವಾಗಿದೆ. ಸ್ಟಾಕ್ II ಅನ್ನು ಖರೀದಿಸಲು ಮತ್ತು ಮಾರಾಟ ಮಾಡಲು ಉತ್ತಮ ಸಮಯಕ್ಕೆ ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರ

ಸಣ್ಣ ಮೌಲ್ಯಗಳನ್ನು ಮಿನಿಮಾಗೆ ಸೇರಿಸಿದಾಗ ಗರಿಷ್ಠ ರೂಪುಗೊಳ್ಳುತ್ತದೆ ಎಂದು ನಾವು ಗಮನಿಸಿದರೆ ನಾವು ಅದನ್ನು ಸರಳಗೊಳಿಸಬಹುದು. ಆದ್ದರಿಂದ ಗರಿಷ್ಠ ಲಾಭವನ್ನು ಲೆಕ್ಕಹಾಕಲು ಪ್ರತಿ ಮಿನಿಮಾ ಮತ್ತು ಮ್ಯಾಕ್ಸಿಮಾವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿದರೂ, ನಾವು ನೇರವಾಗಿ ಆ ಮೌಲ್ಯಗಳನ್ನು ನಮ್ಮ ಲಾಭಕ್ಕೆ ಸೇರಿಸಬಹುದು, ಇದಕ್ಕಾಗಿ ನಾವು ಧನಾತ್ಮಕ ಇಳಿಜಾರನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ ಅದು ಬೆಲೆಗಳು [i]> ಬೆಲೆಗಳು [i-1]. ಅಂತಹ ಎಲ್ಲಾ ಮೌಲ್ಯಗಳ ಸೇರ್ಪಡೆ ನಮಗೆ ಗರಿಷ್ಠ ಲಾಭವನ್ನು ನೀಡುತ್ತದೆ.

ಸ್ಟಾಕ್ II ಅನ್ನು ಖರೀದಿಸಲು ಮತ್ತು ಮಾರಾಟ ಮಾಡಲು ಉತ್ತಮ ಸಮಯಕ್ಕೆ ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರ

ಅನುಷ್ಠಾನ

ಸ್ಟಾಕ್ II ಅನ್ನು ಖರೀದಿಸಲು ಮತ್ತು ಮಾರಾಟ ಮಾಡಲು ಉತ್ತಮ ಸಮಯಕ್ಕಾಗಿ ಸಿ ++ ಕೋಡ್

#include <bits/stdc++.h> 
using namespace std; 
    int maxProfit(vector<int>& prices) {
        int n=prices.size();
        int ans = 0;
        for (int i = 1; i < n; i++) {
            if (prices[i] > prices[i - 1])
                ans += prices[i] - prices[i - 1];
        }
        return ans;
    }
int main() 
{ 
 vector<int> arr = { 7,1,5,3,6,4 }; 
 cout<<maxProfit(arr)<<endl; 
 return 0;
}
7

ಸ್ಟಾಕ್ II ಅನ್ನು ಖರೀದಿಸಲು ಮತ್ತು ಮಾರಾಟ ಮಾಡಲು ಉತ್ತಮ ಸಮಯಕ್ಕಾಗಿ ಜಾವಾ ಕೋಡ್

import java.util.Arrays; 
public class Tutorialcup {
     public static int maxProfit(int[] prices) {
        int ans = 0;
        int n=prices.length;
        for (int i = 1; i < n; i++) {
            if (prices[i] > prices[i - 1])
                ans += prices[i] - prices[i - 1];
        }
        return ans;
    }
  public static void main(String[] args) {
    int [] arr = {7,1,5,3,6,4}; 
    int ans=  maxProfit(arr);
    System.out.println(ans);
  }
}
7

ಸ್ಟಾಕ್ II ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರವನ್ನು ಖರೀದಿಸಲು ಮತ್ತು ಮಾರಾಟ ಮಾಡಲು ಉತ್ತಮ ಸಮಯದ ಸಂಕೀರ್ಣತೆ ವಿಶ್ಲೇಷಣೆ

ಸಮಯದ ಸಂಕೀರ್ಣತೆ

ಮೇಲಿನ ಕೋಡ್‌ನ ಸಮಯದ ಸಂಕೀರ್ಣತೆಯಾಗಿದೆ ಓ (ಎನ್) ಏಕೆಂದರೆ ನಾವು ಒಮ್ಮೆ ಮಾತ್ರ ಬೆಲೆ ಶ್ರೇಣಿಯನ್ನು ದಾಟುತ್ತಿದ್ದೇವೆ. ಇಲ್ಲಿ n ಎನ್ನುವುದು ಬೆಲೆ ರಚನೆಯ ಉದ್ದವಾಗಿದೆ.

ಬಾಹ್ಯಾಕಾಶ ಸಂಕೀರ್ಣತೆ

ಮೇಲಿನ ಕೋಡ್‌ನ ಸ್ಥಳ ಸಂಕೀರ್ಣತೆಯಾಗಿದೆ ಒ (1) ಏಕೆಂದರೆ ನಾವು ಉತ್ತರವನ್ನು ಸಂಗ್ರಹಿಸಲು ಮಾತ್ರ ಮೆಮೊರಿಯನ್ನು ಬಳಸುತ್ತೇವೆ.

ಉಲ್ಲೇಖಗಳು