[Powered by Google Translate] [ಸೆಮಿನಾರ್: ಟೆಕ್ನಿಕಲ್ ಸಂದರ್ಶನ] [ಕೆನ್ನಿ ಯು, ಹಾರ್ವರ್ಡ್ ವಿಶ್ವವಿದ್ಯಾಲಯ] [ಈ CS50 ಹೊಂದಿದೆ.] [CS50.TV] ಹಾಯ್ ಎಲ್ಲರೂ, ನಾನು ಕೆನ್ನಿ ಆಗಿದ್ದೇನೆ. ನಾನು ಈಗ ಒಂದು ಕಿರಿಯ ಅಧ್ಯಯನ ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನ am. ನಾನು ಮಾಜಿ ಸಿಎಸ್ TF ಆಮ್, ಮತ್ತು ನಾನು ಒಂದು underclassman ಆಗ ನಾನು ಈ ಹೊಂದಿತ್ತು ಬಯಸುವ ನಾನು ಈ ಸೆಮಿನಾರ್ ನೀಡುವ ನಾನು ಏಕೆ ಮತ್ತು ಇಲ್ಲಿದೆ. ಹಾಗಾಗಿ, ನೀವು ಅದನ್ನು ಆನಂದಿಸಿ ಆಶಿಸುತ್ತೇವೆ. ಈ ವಿಚಾರಗೋಷ್ಠಿಯನ್ನು ತಾಂತ್ರಿಕ ಇಂಟರ್ವ್ಯೂ ಸುಮಾರು ಮತ್ತು ನನ್ನ ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳನ್ನು, ಈ ಲಿಂಕ್ ಕಾಣಬಹುದು ಇಲ್ಲಿಯೇ ಈ ಲಿಂಕ್, ಸಂಪನ್ಮೂಲಗಳ ಒಂದು ಜೋಡಿ. ಹಾಗಾಗಿ ಕೆಲವು ಸಮಸ್ಯೆಗಳು, ವಾಸ್ತವವಾಗಿ, ಸಮಸ್ಯೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿತು. ನಾವು ಸಲಹೆಗಳನ್ನು ಕಾಣಬಹುದು ಅಲ್ಲಿ ಕೂಡ ಒಂದು ಸಾಮಾನ್ಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪುಟ ಸಂದರ್ಶನದಲ್ಲಿ ತಯಾರಿ ಹೇಗೆ, ನೀವು ನಿಜವಾದ ಸಂದರ್ಶನದಲ್ಲಿ ಮಾಡಬೇಕು ಎಂಬುದರ ಸಲಹೆಗಳು ಅಲ್ಲದೇ ಭವಿಷ್ಯದ ಉಲ್ಲೇಖಕ್ಕಾಗಿ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸಮೀಪಿಸಲು ಹೇಗೆ. ಎಲ್ಲಾ ಆನ್ಲೈನ್ನ. ಮತ್ತು ಈ ಸೆಮಿನಾರ್, ಒಂದು ನಿರಾಕರಣೆ, ಮುನ್ನುಡಿ ಗೆ ಈ ರೀತಿಯಲ್ಲಿ ಮಾಡಬಾರದು - ನಿಮ್ಮ ಸಂದರ್ಶನ ತಯಾರಿ ಈ ಪಟ್ಟಿಗೆ ಸೀಮಿತ ಮಾಡಬಾರದು. ಇದು ಕೇವಲ ಒಂದು ಮಾರ್ಗದರ್ಶಿ ಎಂದು ಅರ್ಥ ಇದೆ ಮತ್ತು ನೀವು ಖಂಡಿತವಾಗಿಯೂ, ನಾನು ಉಪ್ಪು ಒಂದು ಧಾನ್ಯ ಹೇಳಲು ಎಲ್ಲವೂ ತೆಗೆದುಕೊಳ್ಳಬೇಕು ಆದರೆ ನಾನು ನಿಮ್ಮ ಸಂದರ್ಶನದಲ್ಲಿ ತಯಾರಿಕೆಯಲ್ಲಿ ಸಹಾಯ ಬಳಸಲಾಗುತ್ತದೆ ಎಲ್ಲವನ್ನೂ ಬಳಸಿ. ನಾನು ಮುಂದಿನ ಕೆಲವು ಸ್ಲೈಡ್ಗಳು ಮೂಲಕ ವೇಗವನ್ನು ಪಡೆಯಲಿದ್ದೇನೆ ಆದ್ದರಿಂದ ನಾವು ನಿಜವಾದ ಅಧ್ಯಯನದ ಪಡೆಯಬಹುದು. ತಂತ್ರಾಂಶ ಎಂಜಿನಿಯರಿಂಗ್ postion ಒಂದು ಸಂದರ್ಶನದಲ್ಲಿ ರಚನೆ, ಸಾಮಾನ್ಯವಾಗಿ ಇದು 30 ರಿಂದ 45 ನಿಮಿಷಗಳು, ಕಂಪನಿ ಅವಲಂಬಿಸಿ ಅನೇಕ ಸುತ್ತುಗಳಲ್ಲಿ,. ಸಾಮಾನ್ಯವಾಗಿ ನೀವು ಒಂದು ಬಿಳಿ ಮಂಡಳಿಯಲ್ಲಿ ಕೋಡಿಂಗ್ ಪಡೆದುಕೊಳ್ಳುತ್ತೀರಿ. ಆದ್ದರಿಂದ ಈ ರೀತಿಯ, ಆದರೆ ಸಣ್ಣ ಪ್ರಮಾಣದಲ್ಲಿ ಬಿಳಿ ಬೋರ್ಡ್. ನೀವು ಫೋನ್ ಸಂದರ್ಶನದಲ್ಲಿ ಹೊಂದಿರುವ, ನೀವು ಬಹುಶಃ ಬಳಸಿಕೊಂಡು ಪಡೆದುಕೊಳ್ಳುತ್ತೀರಿ collabedit ಅಥವಾ Google ಡಾಕ್ ಎರಡೂ ಆದ್ದರಿಂದ ಅವರು ನೀವು ಕೋಡಿಂಗ್ ಬದುಕಲಿ ನೋಡಬಹುದು ನೀವು ಫೋನ್ ಮೇಲೆ ಸಂದರ್ಶನದಲ್ಲಿ ಮಾಡುತ್ತಲೇ. ಸಂದರ್ಶನವೊಂದರಲ್ಲಿ ಸ್ವತಃ ವಿಶಿಷ್ಟವಾಗಿ 2 ಅಥವಾ 3 ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿದೆ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದ ಜ್ಞಾನ ಪರೀಕ್ಷೆ. ಇದು ಹೆಚ್ಚುಕಡಿಮೆ ಖಂಡಿತವಾಗಿಯೂ ಕೋಡಿಂಗ್ ಒಳಗೊಂಡಿರುತ್ತದೆ. ನೀವು ನೋಡುತ್ತೀರಿ ಎಂದು ಪ್ರಶ್ನೆಗಳ ವಿಧಗಳು ಸಾಮಾನ್ಯವಾಗಿ ದತ್ತಾಂಶ ರಚನೆಗಳು ಮತ್ತು ಕ್ರಮಾವಳಿಗಳು. ಮತ್ತು ಸಮಸ್ಯೆಗಳು ಈ ರೀತಿಯ ಮಾಡುವಾಗ, ಇಷ್ಟಪಡುವ, ನೀವು ಕೇಳುತ್ತೇವೆ, ಯಾವ ಸಮಯ ಮತ್ತು ಜಾಗವನ್ನು ಸಂಕೀರ್ಣತೆ, ದೊಡ್ಡ ಒ ಹೊಂದಿದೆ? ಆಗಾಗ್ಗೆ ಅವರು ಉನ್ನತ ಮಟ್ಟದ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಲು, ಆದ್ದರಿಂದ, ಒಂದು ವಿನ್ಯಾಸ ಹೇಗೆ ನಿಮ್ಮ ಕೋಡ್ ಮೊಟ್ಟ ಎಂದು? ಏನು ಸಂಪರ್ಕಸಾಧನಗಳನ್ನು, ಏನು ತರಗತಿಗಳು, ನಿಮ್ಮ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಯಾವ ಘಟಕಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ, ಮತ್ತು ಈ ಹೇಗೆ ಪರಸ್ಪರ ಇಲ್ಲ? ಆದ್ದರಿಂದ ದತ್ತಾಂಶ ರಚನೆಗಳು ಮತ್ತು ಗಣನೆಯ ಹಾಗೆಯೇ ವಿನ್ಯಾಸ ವ್ಯವಸ್ಥೆಗಳು. ನಮ್ಮ ಕೇಸ್ ಸ್ಟಡೀಸ್ ಗೆ ಧುಮುಕುವುದಿಲ್ಲ ಮೊದಲು ಕೆಲವು ಸಾಮಾನ್ಯ ಸಲಹೆಗಳು. ನಾನು ಅತಿ ಮುಖ್ಯ ನಿಯಮ ಯಾವಾಗಲೂ ಜೋರಾಗಿ ಆಲೋಚನೆ ಎಂದು ಎಂದು. ಸಂದರ್ಶನದಲ್ಲಿ ನಿಮ್ಮ ಆಲೋಚನಾ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಆಫ್ ತೋರಿಸಲು ನಿಮ್ಮ ಅವಕಾಶ ಆಗಿರಬೇಕು. ಸಂದರ್ಶಕರಂತೆ ಅಳೆಯುವ ಸಂದರ್ಶನ ಬಿಂದುವಾಗಿದೆ ಹೇಗೆ ನೀವು ಆಲೋಚಿಸುತ್ತೀರಿ ಮತ್ತು ಹೇಗೆ ನೀವು ಸಮಸ್ಯೆ ಮೂಲಕ ಹೋಗಿ. ನೀವು ಮಾಡಬಹುದು ಕೆಟ್ಟ ವಿಷಯ ಇಡೀ ಸಂದರ್ಶನ ಉದ್ದಕ್ಕೂ ಎಂದು ಮೌನವಾಗಿದೆ. ಕೇವಲ ಯಾವುದೇ ಒಳ್ಳೆಯದು. ನೀವು ಒಂದು ಪ್ರಶ್ನೆಯನ್ನು ನೀಡಲಾಗಿದೆ ಮಾಡಿದಾಗ, ನೀವು ಪ್ರಶ್ನೆ ಅರ್ಥ ಖಾತ್ರಿಪಡಿಸಿಕೊಳ್ಳಬೇಕಾಗಿದೆ. ನಿಮ್ಮ ಮಾತಿನಲ್ಲಿ ಮತ್ತೆ ಪ್ರಶ್ನೆ ಪುನರಾವರ್ತಿಸಲು ಮತ್ತು ಪ್ರಯತ್ನ ಸಂಪೂರ್ಣವಾಗಿ ಕೆಲವು ಸರಳ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳನ್ನು ಕೆಲಸ ನೀವು ಪ್ರಶ್ನೆ ಅರ್ಥ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಕೆಲವು ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳನ್ನು ಮೂಲಕ ಕೆಲಸ ಕೂಡಾ ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಹೇಗೆ ಒಂದು ಅಂತಃಪ್ರಜ್ಞೆಯ ನೀಡುತ್ತದೆ. ನೀವು ಕೆಲವು ಮಾದರಿಗಳನ್ನು ನೀವು ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಸಹಾಯ ಅನ್ವೇಷಿಸಲು ಇರಬಹುದು. ತಮ್ಮ ದೊಡ್ಡ ಸಲಹೆ ಉರುಳಿಸಿದರು ಸಿಗಲಿಲ್ಲ ಆಗಿದೆ. ನಿರಾಶೆಗೊಂಡ ಇರುವುದಿಲ್ಲ. ಇಂಟರ್ವ್ಯೂ ಸವಾಲಾಗಿದ್ದು, ಆದರೆ ನೀವು ಮಾಡಬಹುದು ಕೆಟ್ಟ ವಿಷಯ, ಮೂಕ ಜೊತೆಗೆ, ಗೋಚರಿಸುವ ಉರುಳಿಸಿದರು ಆ. ನೀವು ಸಂದರ್ಶಕರಂತೆ ಎಂದು ಅನಿಸಿಕೆ ನೀಡಲು ಬಯಸುವುದಿಲ್ಲ. ಒಂದು ವಿಷಯ ನೀವು - ಆದ್ದರಿಂದ, ಅನೇಕ ಜನರು, ಅವರು ಸಂದರ್ಶನವೊಂದರಲ್ಲಿ ಹೋಗಿ ಬಂದಾಗ, ಅವರು, ಮೊದಲ ಅತ್ಯುತ್ತಮ ಪರಿಹಾರ ಕಂಡು ಹಿಡಿವ ಪ್ರಯತ್ನ ಆಗ ನಿಜವಾಗಿಯೂ, ಒಂದು ಕಣ್ಣು ಕುಕ್ಕುವಂತೆ ಪರಿಹಾರದಂತೆ ಸಾಮಾನ್ಯವಾಗಿ ಇಲ್ಲ. ಇದು ನಿಧಾನವಾಗಿ ಇರಬಹುದು, ಅದು ಅಸಮರ್ಥ ಇರಬಹುದು, ಆದರೆ ನೀವು ಅದನ್ನು ರಾಜ್ಯ ಬೇಕು ಕೇವಲ ನೀವು ಉತ್ತಮ ಕೆಲಸ ಬೇಕಿರುವ ಆರಂಭಿಕ ಅಂಶವಾಗಿ ಹೊಂದಿವೆ. ಸಹ, ಪರಿಹಾರ ಗಮನಸೆಳೆದಿದ್ದರು ಪರಿಭಾಷೆಯಲ್ಲಿ, ನಿಧಾನ ದೊಡ್ಡ ಒ ಸಮಯ ಸಂಕೀರ್ಣತೆಯ ಅಥವಾ ಸ್ಪೇಸ್ ಸಂಕೀರ್ಣತೆ, ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಸಂದರ್ಶಕರಂತೆ ತೋರಿಸುವುದಾಗಿದೆ ಕಾಣಿಸುತ್ತದೆ ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಕೋಡ್ ಬರೆಯುವಾಗ. ಆದ್ದರಿಂದ ಮೊದಲ ಸರಳ ಆಲ್ಗಾರಿದಮ್ ಜೊತೆಗೆ ಬರಲು ಹಿಂಜರಿಯದಿರಿ ನಂತರ ಅಲ್ಲಿಂದ ಉತ್ತಮ ಕೆಲಸ. ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳನ್ನು ಇಲ್ಲಿಯವರೆಗೆ? ಸರಿ. ಆದ್ದರಿಂದ ನಾವು ನಮ್ಮ ಮೊದಲ ಸಮಸ್ಯೆಯನ್ನು ಧುಮುಕುವುದಿಲ್ಲ. "N ಪೂರ್ಣಾಂಕಗಳ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನೀಡಲಾಗಿದೆ, ಸರಣಿ ಪಲ್ಲಟಗಳು ಒಂದು ಫಂಕ್ಷನ್ ಬರೆಯಲು N ಪೂರ್ಣಾಂಕಗಳ ಎಲ್ಲಾ ಕ್ರಮಪಲ್ಲಟನೆಗಳ ಸಮನಾಗಿ ಸಾಧ್ಯತೆಯಿದೆ ಇಂತಹ ಸ್ಥಳದಲ್ಲಿ. " ಮತ್ತು ನೀವು ಲಭ್ಯವಿರುವ ಯಾದೃಚ್ಛಿಕ ಪೂರ್ಣಾಂಕ ಜನರೇಟರ್ ಹೊಂದಿರುತ್ತವೆ ಊಹಿಸುತ್ತವೆ ಅರ್ಧದಷ್ಟು ಶ್ರೇಣಿಯ 0 ನಾನು ಒಂದು ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಒಂದು ಪೂರ್ಣಾಂಕ ಉತ್ಪಾದಿಸುತ್ತದೆ. ಎಲ್ಲರಿಗೂ ಈ ಪ್ರಶ್ನೆ ಅರ್ಥ ಡಸ್? ನಾನು N ಪೂರ್ಣಾಂಕಗಳ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನೀಡುತ್ತದೆ, ಮತ್ತು ನಾನು ಷಫಲ್ ಅದು ಬಯಸುವ. ನನ್ನ ಕೋಶದಲ್ಲಿ, ನಾನು ಏನು ಎಂದು ತೋರಿಸಲು ಕೆಲವು ಕಾರ್ಯಕ್ರಮಗಳು ಬರೆದರು. ನಾನು, ಷಫಲ್ 20 ಅಂಶಗಳ ಗುಂಪಿಗೆ ಪಡೆಯಲಿದ್ದೇನೆ -10 ರಿಂದ +9 ಗೆ, ಮತ್ತು ನಾನು ಈ ರೀತಿಯ ಪಟ್ಟಿಯನ್ನು ಔಟ್ಪುಟ್ ಮಾಡಲು ಬಯಸುವ. ಆದ್ದರಿಂದ ಈ ನನ್ನ ವಿಂಗಡಿಸಲಾದ ಇನ್ಪುಟ್ ರಚನೆ, ಮತ್ತು ನಾನು ಷಫಲ್ ಅದು ಬಯಸುವ. ನಾವು ಮತ್ತೆ ಮಾಡುತ್ತೇನೆ. ಎಲ್ಲರಿಗೂ ಪ್ರಶ್ನೆ ಅರ್ಥ ಡಸ್? ಸರಿ. ಆದ್ದರಿಂದ ನಿಮಗೆ ಬಿಟ್ಟಿದ್ದು. ಕೆಲವು ವಿಚಾರಗಳು ಯಾವುವು? ನೀವು N ^ 2, N ಲಾಗ್ N, N ಇದನ್ನು ಮಾಡಬಹುದು? ಸಲಹೆಗಳನ್ನು ತೆರೆದಿದೆ. ಸರಿ. ಎಮ್ಮಿ ಸೂಚಿಸಿದಂತೆ ಆದ್ದರಿಂದ ಒಂದು ಕಲ್ಪನೆ, ಮೊದಲ 0 ರಿಂದ 20 ಗೆ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ, ಯಾದೃಚ್ಛಿಕ ಪೂರ್ಣಾಂಕ, ಒಂದು ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಲೆಕ್ಕಾಚಾರ ಹೊಂದಿದೆ. ಆದ್ದರಿಂದ ನಮ್ಮ ರಚನೆಯ 20 ಉದ್ದವನ್ನು ಹೊಂದಿದೆ ಊಹಿಸುತ್ತವೆ. 20 ಅಂಶಗಳ ನಮ್ಮ ರೇಖಾಚಿತ್ರದಲ್ಲಿ, ಈ ನಮ್ಮ ಇನ್ಪುಟ್ ರಚನೆ. ಈಗ, ಅವರ ಸಲಹೆ, ಹೊಸ ರಚನೆಯ ರಚಿಸುವುದು ಆದ್ದರಿಂದ ಈ ಔಟ್ಪುಟ್ ಸರಣಿಯಾಗಿರಬೇಕು ಕಾಣಿಸುತ್ತದೆ. ಮತ್ತು ನಾನು RAND ನೀಡಿದ ಆಧಾರದ - ನಾನು ಆದ್ದರಿಂದ,, 17, ರ ಹೇಳಲು ಅವಕಾಶ ಮೊದಲ ಸ್ಥಾನಕ್ಕೆ 17 ಅಂಶ ನಕಲಿಸಿ. ಈಗ ನಾವು ಅಳಿಸಬೇಕೆಂದಿದ್ದರೆ - ನಾವು ಇಲ್ಲಿ ಎಲ್ಲಾ ಅಂಶಗಳ ಬದಲಾಗುವ ಅಗತ್ಯವಿದೆ ಮೇಲೆ ನಾವು ಕೊನೆಯಲ್ಲಿ ಒಂದು ಅಂತರವನ್ನು ಹಾಗೂ ಮಧ್ಯದಲ್ಲಿ ಯಾವುದೇ ರಂಧ್ರಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಮತ್ತು ಈಗ ನಾವು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸಿ. ಈಗ ನಾವು 0 ಮತ್ತು 19 ರ ನಡುವೆ ಹೊಸ ಯಾದೃಚ್ಛಿಕ ಪೂರ್ಣಾಂಕ ಆರಿಸಿ. ನಾವು ಇಲ್ಲಿ ಹೊಸ ನಾನು ಹೊಂದಿವೆ, ಮತ್ತು ಈ ಸ್ಥಾನಕ್ಕೆ ಈ ಅಂಶ ನಕಲಿಸಿ. ನಾವು ಮೇಲೆ ಐಟಂಗಳನ್ನು ಪಾಳಿ ಮತ್ತು ನಾವು ನಮ್ಮ ಪೂರ್ಣ ಹೊಸ ರಚನೆಯ ತನಕ ನಾವು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸಿ. ಈ ಕ್ರಮಾವಳಿಯ ರನ್ ಸಮಯ ಯಾವುದು? ಅಲ್ಲದೆ, ಅವರ ಈ ಪ್ರಭಾವವು ಪರಿಗಣಿಸೋಣ. ನಾವು ಪ್ರತಿ ಅಂಶ ವಲಸೆ ಹೋಗುತ್ತಿವೆ. ಈ ನಾನು ತೆಗೆದು, ನಾವು ಎಡ ಅದನ್ನು ನಂತರ ಎಲ್ಲಾ ಅಂಶಗಳನ್ನು ವಲಸೆ ಹೋಗುತ್ತಿವೆ. ಮತ್ತು ಒ (N) ವೆಚ್ಚ ಏಕೆಂದರೆ ನಾವು ಮೊದಲ ಅಂಶ ತೆಗೆದು ವೇಳೆ? ಆದ್ದರಿಂದ ಪ್ರತಿ ತೆಗೆಯಲು, ನಾವು ತೆಗೆದು - ಪ್ರತಿ ತೆಗೆಯುವುದು, ಒ (N) ಕಾರ್ಯಾಚರಣೆಯನ್ನು ವೆಚ್ಚಗಳಾಗಬಹುದು ನಾವು ತೆಗೆದುಹಾಕುವಿಕೆ n ಏಕೆಂದರೆ ಮತ್ತು, ಈ ಒ (N ^ 2) ಷಫಲ್ ಕಾರಣವಾಗುತ್ತದೆ. ಸರಿ. ಆದ್ದರಿಂದ ಉತ್ತಮ ಆರಂಭ. ಉತ್ತಮ ಆರಂಭ. ಇನ್ನೊಂದು ಸಲಹೆ, ನುತ್ ಷಫಲ್ ಎಂದು ಏನೋ ಬಳಸುವುದು ಅಥವಾ ಫಿಶರ್-ಯೇಟ್ಸ್ ಷಫಲ್. ಮತ್ತು ಇದು ವಾಸ್ತವವಾಗಿ ಒಂದು ರೇಖೀಯ ಕಾಲದ ಷಫಲ್ ಇಲ್ಲಿದೆ. ಮತ್ತು ಕಲ್ಪನೆಯನ್ನು ತುಂಬಾ ಹೋಲುತ್ತದೆ. ಮತ್ತೆ, ನಾವು, ನಮ್ಮ ಇನ್ಪುಟ್ ಸರಣಿ ಬದಲಿಗೆ ನಮ್ಮ ಇನ್ಪುಟ್ / ಔಟ್ಪುಟ್ ಎರಡು ಸಾಲುಗಳು ಬಳಸುವ, ನಾವು, ನಮ್ಮ ಕಲೆಸಿದ ಭಾಗವನ್ನು ಕಾಪಾಡುವುದು ರಚನೆಯ ಮೊದಲ ಭಾಗವನ್ನು ಬಳಸಿ ಮತ್ತು ನಾವು ಟ್ರ್ಯಾಕ್, ಮತ್ತು ನಂತರ ನಾವು unshuffled ಭಾಗವನ್ನು ನಮ್ಮ ರಚನೆಯ ಉಳಿದ ಬಿಟ್ಟು. ಇಲ್ಲಿ ನಾನು ಅರ್ಥ ಇಲ್ಲಿದೆ. ನಾವು ಆರಂಭಿಸುತ್ತಾರೆ - ನಾವು ಒಂದು ನಾನು ಆಯ್ಕೆ, 0 20 ಒಂದು ಸರಣಿ. ನಮ್ಮ ಪ್ರಸ್ತುತ ಪಾಯಿಂಟರ್ ಮೊದಲ ಸೂಚ್ಯಂಕ ತೋರುತ್ತಿರುವಂತೆ ಇದೆ. ನಾವು ಕೆಲವು ನಾನು ಇಲ್ಲಿ ಆಯ್ಕೆ ಮತ್ತು ಈಗ ನಾವು ವಿನಿಮಯ. ಈ 5 ಮತ್ತು ಈ 4 ಆದ್ದರಿಂದ ವೇಳೆ ಪರಿಣಾಮವಾಗಿ ಶ್ರೇಣಿಯನ್ನು ಇಲ್ಲಿ 5 ಇಲ್ಲಿ ಮತ್ತು 4 ಹೊಂದಿರುತ್ತದೆ. ಮತ್ತು ಈಗ ನಾವು ಇಲ್ಲಿ ಮಾರ್ಕರ್ ಗಮನಿಸಿ. ಎಡಕ್ಕೆ ಎವೆರಿಥಿಂಗ್, ಕಲೆಸಿದ ಇದೆ ಮತ್ತು ಬಲ ಎಲ್ಲವನ್ನೂ unshuffled ಇದೆ. ಮತ್ತು ಈಗ ನಾವು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸುವಂತೆ ಮಾಡುತ್ತದೆ. ನಾವು ಈಗ 1 ಮತ್ತು 20 ನಡುವೆ ಒಂದು ಯಾದೃಚ್ಛಿಕ ಸೂಚ್ಯಂಕ ಆಯ್ಕೆ. ಹಾಗಾಗಿ ಇಲ್ಲಿ ನಮ್ಮ ಹೊಸ ಊಹಿಸಿಕೊಳ್ಳಿ. ಈಗ ನಾವು ನಮ್ಮ ಪ್ರಸ್ತುತ ಹೊಸ ಸ್ಥಾನವನ್ನು ಈ ನಾನು ವಿನಿಮಯ. ಆದ್ದರಿಂದ ನಾವು ಈ ರೀತಿಯಲ್ಲಿ ಹಿಂದಕ್ಕೆ ಮತ್ತು ಮುಂದಕ್ಕೆ ವಿನಿಮಯ ಇಲ್ಲ. ನನಗೆ ಹೆಚ್ಚು ಕಾಂಕ್ರೀಟ್ ಮಾಡಲು ಕೋಡ್ ತರುವ ಅವಕಾಶ. ನಾವು ನಮ್ಮ ನಮ್ಮ ಆಯ್ಕೆಯ ಪ್ರಾರಂಭಿಸಿ - ಇ 0 ಸಮವಾಗಿರುವಂತಿಲ್ಲ ನಾವು ಆರಂಭಿಸಿ, ನಾವು ಯಾದೃಚ್ಛಿಕ ಸ್ಥಳ J ಆಯ್ಕೆ ರಚನೆಯ unshuffled ಭಾಗದಲ್ಲಿ, ನಾನು N-1. ನಾನು ಇಲ್ಲಿ ನಾನು ಆದ್ದರಿಂದ, ಇಲ್ಲಿ ಮತ್ತು ರಚನೆಯ ಉಳಿದ ನಡುವಿನ ಯಾದೃಚ್ಛಿಕ ಸೂಚ್ಯಂಕ ಆಯ್ಕೆ ಮತ್ತು ನಾವು ವಿನಿಮಯ. ಈ ನಡೆ ನಿಮ್ಮ ರಚನೆಯ ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಸಂಕೇತಗಳನ್ನು. ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳು? ಅಲ್ಲದೆ, ಒಂದು ಪ್ರಶ್ನೆಯನ್ನು ಅಗತ್ಯವಿದೆ, ಏಕೆ ಈ ಸರಿಯಾಗಿದೆ ಇದೆ? ಏಕೆ ಪ್ರತಿಯೊಂದು ಕ್ರಮಪಲ್ಲಟನೆಯು ಸಮನಾಗಿ ಸಾಧ್ಯತೆಯಿದೆ? ಮತ್ತು ನಾನು ಈ ಪುರಾವೆ ಮೂಲಕ ಹೋಗಿ ಆಗುವುದಿಲ್ಲ ಆದರೆ ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದ ಅನೇಕ ಸಮಸ್ಯೆಗಳನ್ನು ಚೋದನೆ ಮೂಲಕ ಸಾಬೀತು ಮಾಡಬಹುದು. ನಿಮ್ಮಲ್ಲಿ ಎಷ್ಟು ಇಂಡಕ್ಷನ್ ತಿಳಿದಿದೆ? ಸರಿ. ಕೂಲ್. ಆದ್ದರಿಂದ ನೀವು ಸರಳ ಪ್ರೇರೇಪಿಸುವ ಈ ಕ್ರಮಾವಳಿಯ ಸರಿಯಾಗಿವೆ ಸಾಬೀತು ಮಾಡಬಹುದು ನಿಮ್ಮ ಪ್ರವೇಶ ಕಲ್ಪನೆ ಎಂದು ಅಲ್ಲಿ, ಭಾವಿಸುತ್ತಾರೆ ನನ್ನ ಷಫಲ್ ಪ್ರತಿಯೊಂದು ಕ್ರಮಪಲ್ಲಟನೆಯು ಸಮಾನವಾಗಿ ಸಾಧ್ಯತೆ ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಅಪ್ ಮೊದಲ ನಾನು ಅಂಶಗಳಲ್ಲಿ. ಈಗ, ನಾನು + 1 ಪರಿಗಣಿಸುತ್ತಾರೆ. ಮತ್ತು ನಾವು ನಮ್ಮ ಸೂಚ್ಯಂಕ J ಸ್ವ್ಯಾಪ್ ಆಯ್ಕೆ ಮೂಲಕ, , ಮತ್ತು ನಂತರ ನೀವು ವಿವರಗಳನ್ನು ಔಟ್ ಕೆಲಸ - ಈ ದಾರಿ ಈ ಕ್ರಮಾವಳಿಯ ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಏಕೆ ಕನಿಷ್ಟ ಪೂರ್ಣ ಪುರಾವೆ ಸಮಾನವಾಗಿ ಸಂಭವನೀಯತೆ ಪ್ರತಿಯೊಂದು ಕ್ರಮಪಲ್ಲಟನೆಯು. ಸರಿ, ಮುಂದಿನ ಸಮಸ್ಯೆ. ಆದ್ದರಿಂದ ", ನಕಾರಾತ್ಮಕ, ಶೂನ್ಯ, postive ಪೂರ್ಣಾಂಕಗಳ ಒಂದು ಸರಣಿ, ನಿರ್ದಿಷ್ಟ ಗರಿಷ್ಠ ಮೊತ್ತ ಲೆಕ್ಕಹಾಕಿ ಒಂದು ಫಂಕ್ಷನ್ ಬರೆಯಲು ಇನ್ಪುಟ್ ವ್ಯೂಹದ ಯಾವುದೇ continueous subarray ಆಫ್. " ಇಲ್ಲಿ ಒಂದು ಉದಾಹರಣೆಗೆ, ಎಲ್ಲಾ ಸಂಖ್ಯೆಗಳು ಧನಾತ್ಮಕ ಹೊಂದಿರುವ ಸಂದರ್ಭದಲ್ಲಿ, ಆಗಿದೆ ನಂತರ ಪ್ರಸ್ತುತ ಅತ್ಯುತ್ತಮ ಆಯ್ಕೆ ಸಂಪೂರ್ಣ ರಚನೆಯ ತೆಗೆದುಕೊಳ್ಳಲು ಹೊಂದಿದೆ. 1, 2, 3, 4, 10 ಸಮನಾಗಿರುತ್ತದೆ. ನೀವು ಕೆಲವು ನಿರಾಕರಣೆಗಳು ಹೊಂದಿರುವಾಗ, ಈ ಸಂದರ್ಭದಲ್ಲಿ ನಾವು ಮೊದಲ ಎರಡು ಬಯಸುವ -1 ಮತ್ತು / ಅಥವಾ -3 ಆಯ್ಕೆ ನಮ್ಮ ಮೊತ್ತವು ಪದಚ್ಯುತಗೊಳಿಸಲು ಏಕೆಂದರೆ. ಕೆಲವೊಮ್ಮೆ ನಾವು ರಚನೆಯ ಮಧ್ಯದಲ್ಲಿ ಆರಂಭಿಸಲು ಹೊಂದಿರಬಹುದು. ಕೆಲವೊಮ್ಮೆ ನಾವು ಏನೂ ಆಯ್ಕೆ ಬಯಸುವ ಇದು ಏನು ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ ಉತ್ತಮವಾಗಿದೆ. ಮತ್ತು ಕೆಲವೊಮ್ಮೆ, ಪತನ ತೆಗೆದುಕೊಳ್ಳಲು ಉತ್ತಮ ಇದು ನಂತರ ವಿಷಯ ಸೂಪರ್ ದೊಡ್ಡ ಕಾರಣ. ಯಾವುದೇ ವಿಚಾರಗಳನ್ನು ಎಷ್ಟು? (ವಿದ್ಯಾರ್ಥಿ, ಗ್ರಹಿಸುವುದಕ್ಕಾಗದ) >> ಹೌದು. ನಾನು -1 ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ ಭಾವಿಸೋಣ. ಅವಾಗ ನಾನು 1,000 ಮತ್ತು 20,000, ಆಯ್ಕೆ ಅಥವಾ ನಾನು 3 ಶತಕೋಟಿ ಆಯ್ಕೆ. ಅಲ್ಲದೆ, ಉತ್ತಮ ಆಯ್ಕೆಯ ಎಲ್ಲಾ ಸಂಖ್ಯೆಗಳು ತೆಗೆದುಕೊಳ್ಳಲು ಹೊಂದಿದೆ. ಈ -1, ನಕಾರಾತ್ಮಕ ಸಹ, ಇಡೀ ಮೊತ್ತವನ್ನು ನಾನು -1 ತೆಗೆದುಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಉತ್ತಮವಾಗಿರುತ್ತದೆ. ಆದ್ದರಿಂದ ನಾನು ಮೊದಲು ಹೇಳಿದ ಸಲಹೆಗಳು ಒಂದು ಸ್ಪಷ್ಟವಾಗಿ ಸ್ಪಷ್ಟ ರಾಜ್ಯ ಆಗಿತ್ತು ಮೊದಲ ಮತ್ತು ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿ ಪರಿಹಾರ. ಈ ಲೆಕ್ಕದಲ್ಲಿ ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿ ಪರಿಹಾರ ಏನು? ಯಾ? [ಜೇನ್] ನಾನು ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿ ಪರಿಹಾರ ಭಾವಿಸುತ್ತೇನೆ ಎಲ್ಲಾ ಸಂಭಾವ್ಯ ಸಂಯೋಜನೆಗಳಿಂದ (ಗ್ರಹಿಸುವುದಕ್ಕಾಗದ) ಅನ್ನು ಸೇರಿಸಲು ಎಂದು. [ಯು] ಸರಿ. ಆದ್ದರಿಂದ ಜೇನ್ ಕಲ್ಪನೆಯನ್ನು ಪ್ರತಿಯೊಂದು ಸಂಭವನೀಯ ತೆಗೆದುಕೊಳ್ಳಲು ಹೊಂದಿದೆ - ನಾನು paraphrasing ಆಮ್ - ಪ್ರತಿಯೊಂದು ಸಂಭವನೀಯ ನಿರಂತರ subarray ತೆಗೆದುಕೊಳ್ಳಲು ಹೊಂದಿದೆ, ಅದರ ಮೊತ್ತ ಲೆಕ್ಕಾಚಾರ, ತದನಂತರ ಎಲ್ಲಾ ಸಂಭಾವ್ಯ ನಿರಂತರ subarrays ಗರಿಷ್ಠ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಏನು ಅನನ್ಯವಾಗಿ ನನ್ನ ಇನ್ಪುಟ್ ಶ್ರೇಣಿಯಲ್ಲಿನ ಒಂದು subarray ಗುರುತಿಸಬಲ್ಲ? ನಾನು ಯಾವ ಎರಡು ವಿಷಯಗಳು ಬೇಕು, ಲೈಕ್? ಯಾ? (ವಿದ್ಯಾರ್ಥಿ, ಗ್ರಹಿಸುವುದಕ್ಕಾಗದ) >> ರೈಟ್. ಕಡಿಮೆ ಸೂಚ್ಯಂಕ ಮತ್ತು ಮೇಲಿನ ನಿರ್ಬಂಧಿತ ಸೂಚ್ಯಂಕದಲ್ಲಿ ಬೌಂಡ್ ಅನನ್ಯವಾಗಿ ನಿರಂತರ subarray ನಿರ್ಧರಿಸುತ್ತದೆ. [ಸ್ತ್ರೀ ವಿದ್ಯಾರ್ಥಿ] ನಾವು ಅನನ್ಯ ಸಂಖ್ಯೆಗಳ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನ ಅಂದಾಜು ಆರ್? [ಯು] ನಂ ಅವಳ ಪ್ರಶ್ನೆಗೆ ಆದ್ದರಿಂದ, ನಾವು ನಮ್ಮ ವ್ಯೂಹವನ್ನು ಆರಿಸುತ್ತಾರೆ ಇದೆ - ನಮ್ಮ ರಚನೆಯ ಎಲ್ಲಾ ಅನನ್ಯ ಸಂಖ್ಯೆಗಳು, ಮತ್ತು ಇದಕ್ಕೆ ಉತ್ತರ ಇಲ್ಲ ಎಂದು. ನಾವು ನಮ್ಮ ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿ ಪರಿಹಾರ, ಆರಂಭ / ಕೊನೆಯ ಸೂಚ್ಯಂಕಗಳು ಬಳಸಿದರೆ ಅನನ್ಯವಾಗಿ ನಮ್ಮ ನಿರಂತರ subarray ನಿರ್ಧರಿಸುತ್ತದೆ. ನಾವು ಎಲ್ಲಾ ಸಂಭಾವ್ಯ ಆರಂಭ ಪ್ರವೇಶಗಳಿಗೆ ತಿರುಗಿ ಹಾಗಾಗಿ, ಮತ್ತು ಕೊನೆಯಲ್ಲಿ ಪ್ರವೇಶಗಳಿಗೆ> ಅಥವಾ =, ಆರಂಭಿಸಲು, ಮತ್ತು > ಶೂನ್ಯ. ಕೇವಲ -5 ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ. ಇಲ್ಲಿ ಅದು 0 ಎಂದು ವಿಶೇಷವೇನು. ಯಾ? (ವಿದ್ಯಾರ್ಥಿ, ಗ್ರಹಿಸುವುದಕ್ಕಾಗದ) [ಯು] ಓಹ್, ಕ್ಷಮಿಸಿ, -3 ಹೊಂದಿದೆ. ಇದು 2, ಆದ್ದರಿಂದ ಈ ಒಂದು -3 ಹೊಂದಿದೆ. ಸರಿ. ಆದ್ದರಿಂದ -4, ಆ ಸ್ಥಾನಕ್ಕೆ ಅಂತ್ಯಗೊಳಿಸಲು ಗರಿಷ್ಠ subarray ಇಲ್ಲಿದೆ -4 ಸ್ಥಳದಲ್ಲಿ? ಶೂನ್ಯ. ಒಂದು? 1, 5, 8. ಈಗ, ನಾನು -2 ಸ್ಥಳದಲ್ಲಿ ಸ್ಥಳ ಪೂರ್ಣಗೊಳ್ಳಬೇಕು. ಆದ್ದರಿಂದ 6, 5, 7, ಮತ್ತು ಕಳೆದ ಒಂದು 4. ಈ ನನ್ನ ನಮೂದುಗಳು ತಿಳಿದುಕೊಂಡು ಈ ಸೂಚ್ಯಂಕಗಳು ಪ್ರತಿಯೊಂದು ಪೂರ್ಣಗೊಳ್ಳಬೇಕು ಅಲ್ಲಿ ರೂಪಾಂತರಗೊಳ್ಳುತ್ತದೆ ಸಮಸ್ಯೆಗೆ, ನಂತರ ನನ್ನ ಅಂತಿಮ ಉತ್ತರವನ್ನು ಕೇವಲ ಹೊಂದಿದೆ, ಅಡ್ಡಲಾಗಿ ಬಾಚು ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು ಗರಿಷ್ಠ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಆದ್ದರಿಂದ ಈ ಸಂದರ್ಭದಲ್ಲಿ ಇದು 8 ಇಲ್ಲಿದೆ. ಇದು ಗರಿಷ್ಠ subarray ಈ ಸೂಚ್ಯಂಕ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ಇದು ಮೊದಲು ಎಲ್ಲೋ ಆರಂಭಿಸಿದರು. ಎಲ್ಲರಿಗೂ ಈ ರೂಪಾಂತರಗೊಳ್ಳುತ್ತದೆ subarray ಅರ್ಥ ಡಸ್? ಸರಿ. ಅಲ್ಲದೆ, ಅವರ ಈ ಪುನರಾವರ್ತಿತ ಊಹಿಸಲು ಅವಕಾಶ. ನ ಕೇವಲ ಮೊದಲ ಕೆಲವು ನಮೂದುಗಳನ್ನು ಪರಿಗಣಿಸೋಣ. ಇಲ್ಲಿ ಇದು, 8 0, 0, 0, 1, 5 ಆಗಿತ್ತು. ನಂತರ ಅಲ್ಲಿ ಇಲ್ಲಿ -2, ಆ 6 ಅದನ್ನು ತಂದರು. ನಾನು ಸ್ಥಾನದಲ್ಲಿ ನಮೂದು ಕರೆ ಆದ್ದರಿಂದ ನಾನು subproblem (I), ಹೇಗೆ ನಾನು ಹಿಂದಿನ subproblem ಉತ್ತರವನ್ನು ಬಳಸಬಹುದು ಈ subproblem ಉತ್ತರಿಸಲು? ನಾನು ನೋಡಿದರೆ, ಈ ಪ್ರವೇಶ, ಹೇಳಿ ನೋಡೋಣ. ನಾನು ನೋಡಿ ಉತ್ತರವನ್ನು 6 ಲೆಕ್ಕಾಚಾರ ಮಾಡಬಹುದು ಈ ಸರಣಿ ಮತ್ತು ಈ ರಚನೆಯ ಹಿಂದಿನ ಉಪ ಉತ್ತರಗಳನ್ನು ಸಂಯೋಜನೆಯನ್ನು? ಹೌದು? [ಸ್ತ್ರೀ ವಿದ್ಯಾರ್ಥಿ] ನೀವು ಮೊತ್ತಗಳ ರಚನೆಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಸ್ಥಾನದಲ್ಲಿ ಹಕ್ಕು ಮೊದಲು, 8 ಆದ್ದರಿಂದ ತದನಂತರ ನೀವು ಪ್ರಸ್ತುತ subproblem ಸೇರಿಸಿ. [ಯು], ತಮ್ಮ ಸಲಹೆಯನ್ನು ಈ ಎರಡು ಸಂಖ್ಯೆಗಳನ್ನು ನೋಡಲು ಆದ್ದರಿಂದ ಈ ಸಂಖ್ಯೆ ಮತ್ತು ಈ ಸಂಖ್ಯೆ. ಆದ್ದರಿಂದ ಈ 8 subproblem ಉತ್ತರವನ್ನು (- 1 ನಾನು) ಸೂಚಿಸುತ್ತದೆ. ಮತ್ತು ಅವರ ನನ್ನ ಇನ್ಪುಟ್ ರಚನೆಯ ಎ ಕರೆ ಅವಕಾಶ ಸ್ಥಾನವನ್ನು ನಾನು ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಒಂದು ಗರಿಷ್ಠ subarray ಪಡೆಯುವ ಸಲುವಾಗಿ, ನಾನು ಎರಡು ಆಯ್ಕೆಗಳಿರುತ್ತವೆ: ನಾನು ಎರಡೂ subarray ಮುಂದುವರಿಸಬಹುದು ಹಿಂದಿನ ಸೂಚ್ಯಂಕ ಕೊನೆಗೊಂಡಿತು, ಅಥವಾ ಒಂದು ಹೊಸ ಸರಣಿ ಆರಂಭಿಸಲು. ನಾನು, ಹಿಂದಿನ ಸೂಚ್ಯಂಕ ಪ್ರಾರಂಭವಾಯಿತು ಎಂದು subarray ಮುಂದುವರಿಸಲು ವೇಳೆ ನಂತರ ನಾನು ಸಾಧಿಸಲು ಗರಿಷ್ಠ ಮೊತ್ತ ಹಿಂದಿನ subproblem ಉತ್ತರವನ್ನು ಆಗಿದೆ ಜೊತೆಗೆ ಪ್ರಸ್ತುತ ಸರಣಿ ಪ್ರವೇಶ. ಆದರೆ, ನಾನು ಸಹ, ಹೊಸ subarray ಆರಂಭಿಕ ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿರುತ್ತಾರೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ ಮೊತ್ತ 0 ಆಗಿದೆ. 1, ಜೊತೆಗೆ ಪ್ರಸ್ತುತ ಸರಣಿ ನಮೂದು - ಆದ್ದರಿಂದ ಉತ್ತರವನ್ನು 0 ಮ್ಯಾಕ್ಸ್, subproblem ನಾನು. ಈ ಪುನರಾವರ್ತಿತ ಅರ್ಥ ಡಸ್? ನಮ್ಮ ಪುನರಾವರ್ತಿತ, ನಾವು ಕಂಡುಹಿಡಿದನೆಂದು, subproblem ನಾನು , ಹಿಂದಿನ subproblem ಗರಿಷ್ಠ ಜೊತೆಗೆ ನನ್ನ ಪ್ರಸ್ತುತ ಸರಣಿ ನಮೂದು ಸಮಾನವಾಗಿರುತ್ತದೆ ಇದು ಹಿಂದಿನ subarray ಮುಂದುವರಿಸಲು ಅರ್ಥ ಅಥವಾ 0, ನನ್ನ ಪ್ರಸ್ತುತ ಸೂಚ್ಯಂಕ ಹೊಸ subarray ಪ್ರಾರಂಭಿಸಿ. ಮತ್ತು ಒಮ್ಮೆ ನಾವು ನಮ್ಮ ಅಂತಿಮ ಉತ್ತರವನ್ನು ನಂತರ, ಪರಿಹಾರಗಳನ್ನು ಈ ಟೇಬಲ್ ಅನ್ನು ಕಟ್ಟಿದರು, ಕೇವಲ subproblem ರಚನೆಯ ಸುತ್ತಲೂ ಒಂದು ರೇಖೀಯ ಸ್ವೀಪ್ ಮಾಡಿ ಮತ್ತು ಗರಿಷ್ಠ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಈ ನಾನು ಹೇಳಿದ ಯಾವ ಒಂದು ನಿಖರವಾದ ಅಳವಡಿಕೆಯಾಗಿದೆ. ನಾವು ಹೊಸ subproblem ರಚನೆಯ ಉಪ ರಚಿಸಿ. ಮೊದಲ ಪ್ರವೇಶ 0 ಅಥವಾ ಮೊದಲ ಪ್ರವೇಶ, ಆ ಎರಡು ಗರಿಷ್ಠ ಎರಡೂ ಆಗಿದೆ. ಮತ್ತು ಉಪ ಉಳಿದ ನಾವು ಪತ್ತೆ ನಿಖರವಾದ ಪುನರಾವರ್ತಿತ ಬಳಸಿ. ಈಗ ನಾವು ನಮ್ಮ ಉಪ ರಚನೆಯ ಗರಿಷ್ಟ ಲೆಕ್ಕಾಚಾರ, ಮತ್ತು ನಮ್ಮ ಅಂತಿಮ ಉತ್ತರದ. ಆದ್ದರಿಂದ ಎಷ್ಟು ಜಾಗವನ್ನು ಈ ಕ್ರಮಾವಳಿಯ ಬಳಸುತ್ತಿದ್ದರೆ? ನೀವು ಕೇವಲ CS50 ತೆಗೆದುಕೊಳ್ಳಬಹುದು ವೇಳೆ, ನಂತರ ನೀವು ತುಂಬಾ ಸ್ಪೇಸ್ ಚರ್ಚಿಸಿದ್ದಾರೆ ಇರಬಹುದು. ಹಾಗೆಯೇ, ಗಮನಿಸಿ ಒಂದು ನಾನು ಗಾತ್ರ N ಇಲ್ಲಿ malloc ಎಂಬ ಹೊಂದಿದೆ. ನೀವು ಏನನ್ನು ಸೂಚಿಸುತ್ತದೆ ಇಲ್ಲ? ಈ ಕ್ರಮಾವಳಿಯ ರೇಖೀಯ ಸ್ಥಳವನ್ನು ಬಳಸುತ್ತದೆ. ನಾವು ಉತ್ತಮ ಮಾಡಬಹುದು? ನೀವು ಅಂತಿಮ ಉತ್ತರವನ್ನು ಲೆಕ್ಕಾಚಾರ ಅನಗತ್ಯ ಎಂದು ಗಮನಿಸುವುದಿಲ್ಲ ಎಂದು ಇದೆಯೇ? ನಾನು ಯೋಚಿಸುವಂತೆ ಉತ್ತಮ ಪ್ರಶ್ನೆ, ಯಾವ ಮಾಹಿತಿ ನಾವು ಕೊನೆವರೆಗೆ ಎಲ್ಲಾ ರೀತಿಯಲ್ಲಿ ಸಾಗಿಸುವ ಅಗತ್ಯವಿಲ್ಲ? ಈಗ, ನಾವು ಈ ಎರಡು ಸಾಲುಗಳನ್ನು ನೋಡಿದರೆ, ನಾವು ಮಾತ್ರ, ಹಿಂದಿನ subproblem ಕಾಳಜಿ ಮತ್ತು ನಾವು ಕೇವಲ ನಾವು ಇಲ್ಲಿಯವರೆಗೆ ನೋಡಿದ್ದೀರಿ ಗರಿಷ್ಠ ಕಾಳಜಿ. ನಮ್ಮ ಅಂತಿಮ ಉತ್ತರವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು, ನಾವು ಸಂಪೂರ್ಣ ರಚನೆಯ ಅಗತ್ಯವಿಲ್ಲ. ನಾವು ಕೊನೆಯ ಸಂಖ್ಯೆ, ಕೊನೆಯ ಎರಡು ಸಂಖ್ಯೆಗಳು ಮಾತ್ರ ಅಗತ್ಯವಿದೆ. ಗರಿಷ್ಠ subproblem ವ್ಯೂಹ, ಮತ್ತು ಕೊನೆಯ ಸಂಖ್ಯೆಯ ಕೊನೆಯ ಸಂಖ್ಯೆ. ಆದ್ದರಿಂದ, ವಾಸ್ತವವಾಗಿ, ನಾವು ಒಟ್ಟಾಗಿ ಈ ಕುಣಿಕೆಗಳು ಸಮ್ಮಿಳನ ಮಾಡಬಹುದು ಮತ್ತು ರೇಖೀಯ ಸ್ಥಳದಿಂದ ಸ್ಥಿರ ಜಾಗವನ್ನು ಹೋಗಿ. ಪ್ರಸ್ತುತ ಮೊತ್ತವು ಇಲ್ಲಿಯವರೆಗೆ, ಇಲ್ಲಿ, subproblem, ನಮ್ಮ subproblem ರಚನೆಯ ಪಾತ್ರ ಬದಲಾಯಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಪ್ರಸ್ತುತ ಮೊತ್ತವು, ಇಲ್ಲಿಯವರೆಗೆ, ಹಿಂದಿನ subproblem ಉತ್ತರವನ್ನು ಹೊಂದಿದೆ. ಮತ್ತು ಆ ಮೊತ್ತವು, ಇಲ್ಲಿಯವರೆಗೆ, ನಮ್ಮ ಮ್ಯಾಕ್ಸ್ ನಡೆಯುತ್ತದೆ. ನಾವು ಹೋಗಲು ನಾವು ಗರಿಷ್ಠ ಲೆಕ್ಕಾಚಾರ. ಆದ್ದರಿಂದ ನಾವು, ಸ್ಥಿರ ಬಾಹ್ಯಾಕಾಶಕ್ಕೆ ರೇಖೀಯ ಸ್ಥಳದಿಂದ ಹೋಗಿ ಮತ್ತು ನಾವು ನಮ್ಮ subarray ಸಮಸ್ಯೆಗೆ ಸರಳ ಪರಿಹಾರ ಹೊಂದಿವೆ. ಪ್ರಶ್ನೆಗಳನ್ನು ಈ ರೀತಿಯ ಒಂದು ಸಂದರ್ಶನದಲ್ಲಿ ಪಡೆಯುತ್ತಾನೆ. ಸಮಯ ಸಂಕೀರ್ಣತೆಯ ಏನು; ಸ್ಪೇಸ್ ಸಂಕೀರ್ಣತೆ ಏನು? ನೀವು ಉತ್ತಮ ಮಾಡಬಹುದು? ಸುಮಾರು ಇರಿಸಿಕೊಳ್ಳಲು ಅನಗತ್ಯ ಎಂದು ವಿಷಯಗಳನ್ನು? ನಾನು ನಿಮ್ಮ ಮೇಲೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕು ಎಂದು ವಿಶ್ಲೇಷಣೆಗಳು ಹೈಲೈಟ್ ಮಾಡಲು ಈ ಮಾಡಿದರು ನೀವು ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಮೂಲಕ ಕೆಲಸ ಮಾಡಿದಾಗ. ಯಾವಾಗಲೂ "ನಾನು ಉತ್ತಮ ಮಾಡಬಹುದು?", ನಿಮ್ಮ ಕೇಳಿಕೊಳ್ಳುವಂತೆ ವಾಸ್ತವವಾಗಿ, ಈ ಉತ್ತಮ ಮಾಡಬಹುದು? ಟ್ರಿಕ್ ಪ್ರಶ್ನೆಯ ವಿಂಗಡಿಸಿ. ನೀವು ಬೇಕಾಗುತ್ತದೆ ನೀವು ಸಾಧ್ಯವಿಲ್ಲ ಕನಿಷ್ಠ ಸಮಸ್ಯೆಗೆ ಇನ್ಪುಟ್ ಓದಲು. ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ವಾಸ್ತವವಾಗಿ ಕನಿಷ್ಠ ಸಮಸ್ಯೆಗೆ ಇನ್ಪುಟ್ ಓದಲು ಹಾಗೆ ನೀವು, ರೇಖೀಯ ಕಾಲದ ಉತ್ತಮ ಏನು ಮಾಡುವಂತಿಲ್ಲ ಮತ್ತು ನೀವು ಸ್ಥಿರ ಜಾಗವನ್ನು ಉತ್ತಮ ಸಾಧ್ಯವಿಲ್ಲ. ಆದ್ದರಿಂದ ಈ ವಾಸ್ತವವಾಗಿ, ಈ ಸಮಸ್ಯೆಯನ್ನು ಉತ್ತಮ ಪರಿಹಾರವಾಗಿದೆ. ಪ್ರಶ್ನೆಗಳು? ಸರಿ. ಸ್ಟಾಕ್ ಮಾರುಕಟ್ಟೆ ಸಮಸ್ಯೆ: "ಧನಾತ್ಮಕ, ಶೂನ್ಯ, ಅಥವಾ ನಕಾರಾತ್ಮಕ N ಪೂರ್ಣಾಂಕಗಳ, ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನೀಡಲಾಗಿದೆ, ಎಂದು, N ದಿನಗಳಲ್ಲಿ ಒಂದು ಸ್ಟಾಕಿನ ಬೆಲೆಯು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ ನೀವು ಮಾಡಬಹುದು ಗರಿಷ್ಠ ಲಾಭದ ಲೆಕ್ಕಾಚಾರ ಒಂದು ಫಂಕ್ಷನ್ ಬರೆಯಲು ನೀವು ಈ N ದಿನಗಳಲ್ಲಿ ನಿಖರವಾಗಿ 1 ಷೇರು ಖರೀದಿ ಮತ್ತು ಮಾರಾಟ ಕಾರಣವಾಗಿತ್ತು. " ಮೂಲಭೂತವಾಗಿ, ನಾವು ಕಡಿಮೆ ಖರೀದಿಸಲು ಹೆಚ್ಚು ಮಾರಾಟ ಮಾಡಲು ಬಯಸುವ. ಮತ್ತು ನಾವು ಮಾಡಬಹುದು ಉತ್ತಮ ಲಾಭ ಲೆಕ್ಕಾಚಾರ ಬಯಸುವ. ನನ್ನ ಸಲಹೆ ಹಿಂದಕ್ಕೆ ಹೋಗಿ, ಏನು ತಕ್ಷಣವೇ ಸ್ಪಷ್ಟ, ಸರಳ ಉತ್ತರ, ಆದರೆ ನಿಧಾನವಾಗಿ ಅವರ? ಹೌದು? (ವಿದ್ಯಾರ್ಥಿ, ಗ್ರಹಿಸುವುದಕ್ಕಾಗದ) >> ಹೌದು. >> ಆದ್ದರಿಂದ ನೀವು ಸಹ ಹೋಗಿ ಮತ್ತು ಬೆಲೆಗಳನ್ನು ನೋಡಿ ಎಂದು ಸಮಯದಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಹಂತದಲ್ಲಿ, (ಗ್ರಹಿಸುವುದಕ್ಕಾಗದ). [ಯು] ಸರಿ, ಆದ್ದರಿಂದ ಅವರ ಪರಿಹಾರ - ಗಣಕ ತನ್ನ ಸಲಹೆ ಕಡಿಮೆ ಮತ್ತು ಉನ್ನತ ಕಂಪ್ಯೂಟರ್ ಅಗತ್ಯವಾಗಿ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ ಅತಿ ಕಡಿಮೆ ಮೊದಲು ಉಂಟಾಗಬಹುದೆಂದು ಕಾರಣ. ಆದ್ದರಿಂದ ಈ ಸಮಸ್ಯೆಗೆ ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿ ಪರಿಹಾರ ಏನು? ನಾನು ಅನನ್ಯವಾಗಿ ನಾನು ಮಾಡಲು ಲಾಭ ನಿರ್ಧರಿಸಲು ಅಗತ್ಯವಿರುವ ಎರಡು ವಿಷಯಗಳು ಯಾವುವು? ರೈಟ್. ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿ ಪರಿಹಾರವಾಗಿದೆ - ಓಹ್, ಆದ್ದರಿಂದ, ಜಾರ್ಜ್ ಅವರ ಸಲಹೆಯನ್ನು ನಾವು ಕೇವಲ ಎರಡು ದಿನಗಳ ಅಗತ್ಯವಾಗಿದೆ ಅನನ್ಯವಾಗಿ ಆ ಎರಡು ದಿನಗಳ ಲಾಭ ನಿರ್ಧರಿಸಲು. ಆದ್ದರಿಂದ ನಾವು, ಖರೀದಿ / ಮಾರಾಟ ಇಷ್ಟ, ಪ್ರತಿ ಜೋಡಿಯ ಲೆಕ್ಕಾಚಾರ ಋಣಾತ್ಮಕ ಅಥವಾ ಧನಾತ್ಮಕ ಅಥವಾ ಶೂನ್ಯ ಸಾಧ್ಯವಿದೆ ಲಾಭ, ಲೆಕ್ಕಾಚಾರ. ನಾವು ದಿನಗಳ ಎಲ್ಲಾ ಜೋಡಿ ಮೇಲೆ iterating ನಂತರ ಮಾಡುವ ಗರಿಷ್ಠ ಲಾಭದ ಲೆಕ್ಕಾಚಾರ. ನಮ್ಮ ಅಂತಿಮ ಉತ್ತರವನ್ನು ಎಂದು ಕಾಣಿಸುತ್ತದೆ. ಮತ್ತು ಪರಿಹಾರವನ್ನು ಇರುವುದರಿಂದ, O (N ^ 2) ಎಂದು N ಎರಡು ಜೋಡಿ ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ - ನೀವು ಕೊನೆಯ ದಿನಗಳ ನಡುವೆ ಆಯ್ಕೆ ಮಾಡಬಹುದು ದಿನಗಳ. ಸರಿ, ಆದ್ದರಿಂದ ನಾನು ಇಲ್ಲಿ ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿ ಪರಿಹಾರಕ್ಕಿಂತ ಹೋಗುತ್ತಿದ್ದೇವೆ ಇಲ್ಲ. ನಾನು N ಲಾಗ್ N ಪರಿಹಾರ ಇಲ್ಲ ಎಂದು ಹೇಳಲು ಪಡೆಯಲಿದ್ದೇನೆ. ನೀವು ಪ್ರಸ್ತುತ N ಲಾಗ್ N ಎಂದು ಯಾವ ಅಲ್ಗಾರಿದಮ್ ತಿಳಿಯುವುದು? ಇದು ಒಂದು ಟ್ರಿಕ್ ಪ್ರಶ್ನೆ ಅಲ್ಲ. ರೀತಿಯ ವಿಲೀನಗೊಳಿಸಿ. ವಿಲೀನಗೊಳ್ಳಲು ರೀತಿಯ, N ಲಾಗ್ N ಆಗಿದೆ ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವ ಒಂದು ರೀತಿಯಲ್ಲಿ ಬಳಸುವುದು ಎಂಬ ಕಲ್ಪನೆಯನ್ನು ಒಂದು ವಿಲೀನ ರೀತಿಯ ರೀತಿಯ, ಸಾಮಾನ್ಯವಾಗಿ, ವಿಭಜನೆಯನ್ನು ವಶಪಡಿಸಿಕೊಳ್ಳಲು. ಕೆಳಗಿನಂತೆ ಮತ್ತು ಕಲ್ಪನೆ. ನೀವು ಬೆಸ್ಟ್ ಬೈ ಲೆಕ್ಕಾಚಾರ / ಎಡ ಅರ್ಧ ಜೋಡಿ ಮಾರಾಟ ಮಾಡಲು ಬಯಸುವ. ನೀವು ಕೇವಲ ಎರಡು ದಿನಗಳ ಮೊದಲು, n, ಮಾಡಬಹುದು ಉತ್ತಮ ಲಾಭ ಕ್ಲಿಕ್. ನಂತರ ನೀವು, ಬೆಸ್ಟ್ ಬೈ oompute / ಬಲ ಅರ್ಧ ಮೇಲೆ ಜೋಡಿ ಮಾರಾಟ ಬಯಸುವ ಎರಡು ದಿನಗಳ ಕಾಲ ಕಳೆದ ಎನ್. ಈಗ ಪ್ರಶ್ನೆ ಹೇಗೆ ನಾವು ಮತ್ತೆ ಒಟ್ಟಿಗೆ ಈ ಪರಿಹಾರಗಳನ್ನು ವಿಲೀನಗೊಳ್ಳಲು ಇಲ್ಲ, ಇದು? ಹೌದು? (ವಿದ್ಯಾರ್ಥಿ, ಗ್ರಹಿಸುವುದಕ್ಕಾಗದ) ಸರಿ >>. ಆದ್ದರಿಂದ ನನ್ನ ಚಿತ್ರವನ್ನು ರಚಿಸೋಣ. ಹೌದು? (ಜಾರ್ಜ್, ಗ್ರಹಿಸುವುದಕ್ಕಾಗದ) ನಿಖರವಾಗಿ >>. ಜಾರ್ಜ್ ಪರಿಹಾರವನ್ನು ನಿಖರವಾಗಿ ಹಕ್ಕು. ಅವರ ಸಲಹೆಯನ್ನು ಆದ್ದರಿಂದ, ಮೊದಲ, ಉತ್ತಮ ಖರೀದಿ / ಮಾರಾಟ ಜೋಡಿ ಲೆಕ್ಕಾಚಾರ ಮತ್ತು ಎಡ ಭಾಗದಲ್ಲಿ ಸಂಭವಿಸುವ, ಆದ್ದರಿಂದ ಅವರ ಎಡ, ಉಳಿದಿವೆ ಎಂದು ಕರೆಯಲು ಅವಕಾಶ. ಅತ್ಯುತ್ತಮ ಬಲ ಭಾಗದಲ್ಲಿ ಸಂಭವಿಸುವ ಜೋಡಿ ಖರೀದಿ / ಮಾರಾಟ. ನಾವು ಈ ಎರಡು ಸಂಖ್ಯೆಗಳನ್ನು ಹೋಲಿಸಿದರೆ ಆದರೆ, ನಾವು ಸಂದರ್ಭದಲ್ಲಿ ಕಾಣೆಯಾಗಿದೆ ನೀವು ನಾವು ಇಲ್ಲಿ ಖರೀದಿ ಮತ್ತು ಬಲ ಭಾಗದಲ್ಲಿ ಎಲ್ಲೋ ಮಾರಾಟ ಅಲ್ಲಿ. ನಾವು ಎಡ ಭಾಗದಲ್ಲಿ ಖರೀದಿ, ಬಲ ಭಾಗದಲ್ಲಿ ಮಾರಾಟ. ಮತ್ತು ಎರಡೂ ಅರ್ಥ ಚಾಚಿರುವ ಅತ್ಯುತ್ತಮ ಖರೀದಿ / ಮಾರಾಟ ಜೋಡಿ ಲೆಕ್ಕಾಚಾರ ಉತ್ತಮ ರೀತಿಯಲ್ಲಿ ಇಲ್ಲಿ ಕನಿಷ್ಠ ಲೆಕ್ಕಾಚಾರ ಮತ್ತು ಇಲ್ಲಿ ಗರಿಷ್ಠ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದು ಮತ್ತು ಅವುಗಳ ವ್ಯತ್ಯಾಸವನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತಾರೆ. ಖರೀದಿ / ಮಾರಾಟ ಜೋಡಿ ಮಾತ್ರ ಇಲ್ಲಿ ಸಂಭವಿಸುತ್ತದೆ ಅಲ್ಲಿ ಎರಡು ಸಂದರ್ಭಗಳಲ್ಲಿ ಆದ್ದರಿಂದ, ಕೇವಲ ಇಲ್ಲಿ ಅಥವಾ ಎರಡೂ ಅರ್ಥ ಈ ಮೂರು ಸಂಖ್ಯೆಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. , ಮತ್ತೆ ಒಟ್ಟಿಗೆ ನಮ್ಮ ಪರಿಹಾರಗಳನ್ನು ವಿಲೀನಗೊಳ್ಳಲು ನಮ್ಮ ಅಲ್ಗಾರಿದಮ್ ಆದ್ದರಿಂದ ನಾವು ಅತ್ಯುತ್ತಮ ಖರೀದಿ / ಮಾರಾಟ ಜೋಡಿ ಲೆಕ್ಕಾಚಾರ ಬಯಸುವ ನಾವು ಎಡ ಅರ್ಧ ಮೇಲೆ ಖರೀದಿ ಮತ್ತು ಬಲ ಅರ್ಧ ಮೇಲೆ ಮಾರಾಟ ಅಲ್ಲಿ. ಮತ್ತು ಇದನ್ನು ಉತ್ತಮ ರೀತಿಯಲ್ಲಿ, ಮೊದಲ ಅರ್ಧ ಕಡಿಮೆ ಬೆಲೆ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದು ಅತಿ ಬಲ ಅರ್ಧ ಬೆಲೆ, ಮತ್ತು ಅವುಗಳ ವ್ಯತ್ಯಾಸವನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತಾರೆ. ಫಲಿತ ಮೂರು ಲಾಭ, ಈ ಮೂರು ಸಂಖ್ಯೆಗಳನ್ನು, ನೀವು, ಮೂರು ಟೇಕ್ ಮತ್ತು ನೀವು ಈ ಮೊದಲ ಮತ್ತು ಕೊನೆಯ ದಿನಗಳಲ್ಲಿ ಮಾಡಬಹುದು ಉತ್ತಮ ಲಾಭ ಇಲ್ಲಿದೆ. ಇಲ್ಲಿ ಪ್ರಮುಖ ಸಾಲುಗಳನ್ನು ಕೆಂಪು ಇವೆ. ಈ ಎಡ ಅರ್ಧ ಉತ್ತರವನ್ನು ಗಣನಿಸುವ ಒಂದು ಪುನರಾವರ್ತಿತ ಕರೆಯು ಹೊಂದಿದೆ. ಈ ಹಕ್ಕನ್ನು ಅರ್ಧದಷ್ಟು ಉತ್ತರವನ್ನು ಗಣನಿಸುವ ಒಂದು ಪುನರಾವರ್ತಿತ ಕರೆಯು ಹೊಂದಿದೆ. ಈ ಎರಡು ಕುಣಿಕೆಗಳು ಕ್ರಮವಾಗಿ, ಎಡ ಮತ್ತು ಬಲ ಅರ್ಧದಲ್ಲಿ ನಿಮಿಷ ಮತ್ತು ಮ್ಯಾಕ್ಸ್ ಲೆಕ್ಕಾಚಾರ. ಈಗ ನಾನು, ಎರಡೂ ಅರ್ಥ ಚಾಚಿರುವ ಲಾಭದ ಲೆಕ್ಕಾಚಾರ ಮತ್ತು ಅಂತಿಮ ಉತ್ತರವನ್ನು ಈ ಮೂರು ಗರಿಷ್ಠ ಹೊಂದಿದೆ. ಸರಿ. ಆದ್ದರಿಂದ, ಖಚಿತವಾಗಿ, ನಾವು ಒಂದು ಕ್ರಮಾವಳಿ, ಆದರೆ ದೊಡ್ಡ ಪ್ರಶ್ನೆ ಈ ಸಮಯದ ಸಂಕೀರ್ಣತೆ ಏನು? ಮತ್ತು ನಾನು ವಿಲೀನ ರೀತಿಯ ಪ್ರಸ್ತಾಪಿಸಿದ್ದಾರೆ ಏಕೆ ಕಾರಣ ಈ ರೀತಿಯ ಉತ್ತರವನ್ನು ಡಿವೈಡ್ ಆಗಿದೆ ಎರಡು ಮತ್ತು ನಂತರ ಒಟ್ಟಿಗೆ ನಮ್ಮ ಪರಿಹಾರಗಳನ್ನು ವಿಲೀನಗೊಳಿಸುವ ನಿಖರವಾಗಿ ವಿಲೀನ ರೀತಿಯ ರೂಪ. ಆದ್ದರಿಂದ ನನ್ನ ಅವಧಿಯ ಮೂಲಕ ಹೋಗಲು ಅವಕಾಶ. ನಾವು ಹಂತಗಳ ಸಂಖ್ಯೆ ಎಂದು ಒಂದು ಫಂಕ್ಷನ್ T (N) ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ವೇಳೆ N ದಿನಗಳವರೆಗೆ, ನಮ್ಮ ಎರಡು ಪುನರಾವರ್ತಿತ ಕರೆಗಳು ಪ್ರತಿ T (N / 2), ವೆಚ್ಚ ಹೋಗುವ ಈ ಕರೆಗಳು ಎರಡು ಇಲ್ಲ. ಈಗ ನಾನು, ಎಡ ಅರ್ಧ ಕನಿಷ್ಠ ಲೆಕ್ಕಾಚಾರ ಅಗತ್ಯವಿದೆ ನಾನು N / 2 ಬಾರಿ, ಮತ್ತು ಬಲ ಅರ್ಧ ಗರಿಷ್ಠ ಏನು ಮಾಡಬಹುದು. ಆದ್ದರಿಂದ ಈ ಕೇವಲ n ಇದೆ. ತದನಂತರ ಕೆಲವು ಸ್ಥಿರ ಕೆಲಸ ಪ್ಲಸ್. ಮತ್ತು ಈ ಪುನರಾವರ್ತಿತ ಸಮೀಕರಣ ನಿಖರವಾಗಿ ವಿಲೀನ ರೀತಿಯ ಫಾರ್ ಪುನರಾವರ್ತಿತ ಸಮೀಕರಣ. ಮತ್ತು ನಾವು ಎಲ್ಲಾ ವಿಲೀನ ರೀತಿಯ N ಲಾಗ್ N ಸಮಯ ಎಂದು ನಮಗೆ ತಿಳಿದಿದೆ. ಆದ್ದರಿಂದ, ನಮ್ಮ ಅಲ್ಗಾರಿದಮ್ ಸಹ ಲಾಗ್ N ಸಮಯ n ಇದೆ. ಈ ಪುನರಾವರ್ತನೆ ಅರ್ಥ ಡಸ್? ಈ ಕೇವಲ ಸಂಕ್ಷಿಪ್ತ ರೀಕ್ಯಾಪ್: ಟಿ (n) ಗರಿಷ್ಠ ಲಾಭದ ಲೆಕ್ಕಾಚಾರ ಕ್ರಮಗಳನ್ನು ಸಂಖ್ಯೆ N ದಿನಗಳ ಅವಧಿಯಲ್ಲಿ. ನಮ್ಮ ಪುನರಾವರ್ತಿತ ಕರೆಗಳು ಬೇರೆಯಾಗುತ್ತಾರೆ ರೀತಿಯಲ್ಲಿ , ಮೊದಲ N / 2 ದಿನಗಳಲ್ಲಿ ನಮ್ಮ ಪರಿಹಾರ ಕರೆ ಮೂಲಕ ಆದ್ದರಿಂದ ಒಂದು ಕರೆ, ಅವರ ನಂತರ ನಾವು ಎರಡನೇ ಅರ್ಧ ಮೇಲೆ ಮತ್ತೆ ಕರೆ. ಆದ್ದರಿಂದ ಎರಡು ಕರೆಗಳನ್ನು ಇಲ್ಲಿದೆ. ನಂತರ ನಾವು ರೇಖೀಯ ಸಮಯದಲ್ಲಿ ಮಾಡಬಹುದು, ಇದು ಎಡ ಅರ್ಧದಲ್ಲಿ ಕನಿಷ್ಠ ಹೇಗೆ ನಾವು ರೇಖೀಯ ಸಮಯದಲ್ಲಿ ಮಾಡಬಹುದು ಇದು ಬಲ ಅರ್ಧ ಗರಿಷ್ಠ, ಹೇಗೆ. ಆದ್ದರಿಂದ N / 2 + N / 2 ಕೇವಲ ಎನ್. ನಂತರ ನಾವು ಅಂಕಗಣಿತದ ಮಾಡುವ ರೀತಿಯಲ್ಲಿ ಇದು ಕೆಲವು ಸ್ಥಿರ ಕೆಲಸ ಹೊಂದಿರುತ್ತವೆ. ಈ ಪುನರಾವರ್ತಿತ ಸಮೀಕರಣದ ನಿಖರವಾಗಿ ವಿಲೀನ ರೀತಿಯ ಫಾರ್ ಪುನರಾವರ್ತಿತ ಸಮೀಕರಣ. ಆದ್ದರಿಂದ, ನಮ್ಮ ನಡೆ ಅಲ್ಗಾರಿದಮ್ ಸಹ N N ಲಾಗ್. ಆದ್ದರಿಂದ ಎಷ್ಟು ಜಾಗವನ್ನು ನಾವು ಬಳಸುತ್ತಿರುವ? ನ ಕೋಡ್ ಹಿಂದಿರುಗಿ ನೋಡೋಣ. ಒಂದು ಉತ್ತಮ ಪ್ರಶ್ನೆ, ಎಷ್ಟು ಸ್ಟಾಕ್ ಚೌಕಟ್ಟುಗಳು ನಾವು ಯಾವುದೇ ನಿರ್ದಿಷ್ಟ ಕ್ಷಣದಲ್ಲಿ ಹೊಂದಿಲ್ಲ ಇದೆ? ನಾವು ರಿಕರ್ಶನ್ ಬಳಸುತ್ತಿರುವ ಕಾರಣ, ಸ್ಟಾಕ್ ಚೌಕಟ್ಟುಗಳ ಸಂಖ್ಯೆಯ ನಮ್ಮ ಜಾಗವನ್ನು ಬಳಕೆ ನಿರ್ಧರಿಸುತ್ತದೆ. ನ N = 8 ಪರಿಗಣಿಸೋಣ. ನಾವು, 8 ಷಫಲ್ ಕರೆ ಮೊದಲ ನಾಲ್ಕು ನಮೂದುಗಳನ್ನು ಷಫಲ್ ಕರೆ ಮಾಡುತ್ತದೆ, ಮೊದಲ ಎರಡು ನಮೂದುಗಳನ್ನು ಒಂದು ಷಫಲ್ ಕರೆಯುತ್ತೇವೆ. ಆದ್ದರಿಂದ ನಮ್ಮ ಸ್ಟಾಕ್ - ಇದು ನಮ್ಮ ರಾಶಿಯಿದೆ. ನಂತರ ನಾವು, 1 ರಂದು ಪುನಃ ಶಫಲ್ ಕರೆ ಮತ್ತು ನಮ್ಮ ಮೂಲ ಸಂದರ್ಭದಲ್ಲಿ ಏನು, ಆದ್ದರಿಂದ ನಾವು ತಕ್ಷಣ ಮರಳಿ. ನಾವು ಎಂದಾದರೂ ಈ ಅನೇಕ ಸ್ಟಾಕ್ ಚೌಕಟ್ಟುಗಳು ಹೆಚ್ಚು ಇದೆಯೇ? ನಂ ನಾವು ಆವಾಹನೆ ಮಾಡಿ ಪ್ರತಿ ಬಾರಿ ಕಾರಣ, ಷಫಲ್ ಒಂದು ಪುನರಾವರ್ತಿತ ಆವಾಹನೆ, ನಾವು ಅರ್ಧ ನಮ್ಮ ಗಾತ್ರ ಭಾಗಿಸಿ. ನಾವು ಯಾವುದೇ ನಿರ್ದಿಷ್ಟ ಕ್ಷಣದಲ್ಲಿ ಹೊಂದಿರುತ್ತವೆ ಸ್ಟಾಕ್ ಚೌಕಟ್ಟುಗಳು ಗರಿಷ್ಠ ಆದ್ದರಿಂದ ಲಾಗ್ N ಸ್ಟಾಕ್ ಚೌಕಟ್ಟುಗಳು ಪ್ರಮಾಣದಲ್ಲಿದೆ. ಪ್ರತಿ ಸ್ಟಾಕ್ ಫ್ರೇಮ್, ಸ್ಥಿರ ಜಾಗವನ್ನು ಹೊಂದಿದೆ ಜಾಗ ಮತ್ತು ಆದ್ದರಿಂದ ಒಟ್ಟು ಪ್ರಮಾಣವನ್ನು, ನಾವು ಬಳಸಲು ಸ್ಪೇಸ್ ಗರಿಷ್ಠ ಪ್ರಮಾಣವನ್ನು ಓ (ಲಾಗ್ N) ಸ್ಥಳವಾಗಿದೆ ಅಲ್ಲಿ N ದಿನಗಳ ಸಂಖ್ಯೆ. ಈಗ, ಯಾವಾಗಲೂ ನೀವೇ ಹೇಳಿ, "ನಾವು ಉತ್ತಮ ಮಾಡಬಹುದು?" ಮತ್ತು ನಿರ್ದಿಷ್ಟವಾಗಿ, ನಾವು ಈಗಾಗಲೇ ಪರಿಹಾರ ನೀವು ಒಂದು ಸಮಸ್ಯೆಗೆ ಈ ಕಡಿಮೆ ಮಾಡಬಹುದು? ಒಂದು ಸುಳಿವು: ನಾವು ಈ ಮೊದಲು ಎರಡು ಸಮಸ್ಯೆಗಳನ್ನು ಚರ್ಚಿಸಿದ್ದಾರೆ, ಮತ್ತು ಹೆಜ್ಜೆಹಾಕು ಎಂದು ಹಿಂದಿರುಗಬಹುದೆಂದು. ನಾವು ಗರಿಷ್ಠ subarray ಸಮಸ್ಯೆಯನ್ನು ಈ ಷೇರು ಮಾರುಕಟ್ಟೆ ಸಮಸ್ಯೆ ಪರಿವರ್ತಿಸಬಹುದು. ನಾವು ಹೇಗೆ ಮಾಡಬಹುದು? ನೀವು ಒಂದು? ಎಮ್ಮಿ? (ಎಮ್ಮಿ, ಗ್ರಹಿಸುವುದಕ್ಕಾಗದ) [ಯು] ನಿಖರವಾಗಿ. ಗರಿಷ್ಠ subarray ಸಮಸ್ಯೆ ಆದ್ದರಿಂದ, ನಾವು ನಿರಂತರ subarray ಮೇಲೆ ಮೊತ್ತವು ಹುಡುಕುತ್ತಿರುವ. ಮತ್ತು ಸ್ಟಾಕ್ ಸಮಸ್ಯೆಯನ್ನು ಎಮ್ಮಿ ಸಲಹೆ, ಬದಲಾವಣೆಗಳನ್ನು ಅಥವಾ ನದಿಮುಖಜ ಭೂಮಿಗಳಲ್ಲಿ ಪರಿಗಣಿಸುತ್ತಾರೆ. ಮತ್ತು ಈ ಚಿತ್ರ - ಈ ಷೇರುಗಳ ಬೆಲೆ, ಆದರೆ ಪ್ರತಿ ದಿನ ಸತತ ನಡುವೆ ವ್ಯತ್ಯಾಸವನ್ನು ತೆಗೆದುಕೊಂಡಿತು ವೇಳೆ - ಆದ್ದರಿಂದ ನಾವು ಗರಿಷ್ಠ ಬೆಲೆ, ಗರಿಷ್ಠ ಲಾಭ ನಾವು ಮಾಡಬಹುದು ಎಂದು ನೋಡಿ ನಾವು ಇಲ್ಲಿ ಖರೀದಿ ಮತ್ತು ಮಾರಾಟ ಇಲ್ಲಿ ವೇಳೆ ಹೊಂದಿದೆ. ಆದರೆ ಸತತ ನೋಡೋಣ - ನ subarray ಸಮಸ್ಯೆ ನೋಡೋಣ. ಇಲ್ಲಿ, ನಾವು ಮಾಡಬಹುದು - ಇಲ್ಲಿಂದ ಇಲ್ಲಿ ಹೋಗಿ, ನಾವು ಒಂದು ಧನಾತ್ಮಕ ಬದಲಾವಣೆಯನ್ನು, ತದನಂತರ ಇಲ್ಲಿ ಇಲ್ಲಿ ಹೋಗುವಾಗ ನಾವು ಋಣಾತ್ಮಕ ಬದಲಾವಣೆ. ಆದರೆ, ನಾವು ಒಂದು ದೊಡ್ಡ ಧನಾತ್ಮಕ ಬದಲಾವಣೆಯನ್ನು ಇಲ್ಲಿಂದ ಇಲ್ಲಿ ಹೋಗಿ. ಮತ್ತು ಈ ನಮ್ಮ ಅಂತಿಮ ಲಾಭ ಪಡೆಯಲು ಒಟ್ಟಾರೆಯಾಗಿ ಬಯಸುವ ಬದಲಾವಣೆ. ನಾವು ಹೆಚ್ಚು ಋಣಾತ್ಮಕ ಬದಲಾವಣೆಗಳನ್ನು ಇಲ್ಲಿ ಹೊಂದಿವೆ. ನಮ್ಮ ಗರಿಷ್ಠ subarray ಸಮಸ್ಯೆಯನ್ನು ನಮ್ಮ ಸ್ಟಾಕ್ ಸಮಸ್ಯೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಕೀಲಿ ದಿನಗಳ ನಡುವೆ ನದಿಮುಖಜ ಭೂಮಿಗಳಲ್ಲಿ ಭಾವಿಸುವುದು. ಆದ್ದರಿಂದ ನಾವು, ನದಿಮುಖಜ ಭೂಮಿಗಳಲ್ಲಿ ಎಂಬ ಹೊಸ ಶ್ರೇಣಿಯನ್ನು ರಚಿಸುವ , 0 ಮೊದಲ ಪ್ರವೇಶ ಆರಂಭಿಸಲು ತದನಂತರ ಪ್ರತಿ ಡೆಲ್ಟಾ ಫಾರ್ (I), ವ್ಯತ್ಯಾಸವನ್ನು ಎಂದು ತಿಳಿಸಿ ನನ್ನ ಇನ್ಪುಟ್ ಸರಣಿ (I), ಮತ್ತು ರಚನೆಯ (ನಾನು - 1). ನಂತರ ನಾವು ಗರಿಷ್ಠ subarray ನಮ್ಮ ನಿತ್ಯದ ಕಾರ್ಯವಿಧಾನವೆಂದು ಕರೆ ಒಂದು ಡೆಲ್ಟಾ ರ ಶ್ರೇಣಿಯಲ್ಲಿನ ಹಾದುಹೋಗುವ. ಮತ್ತು ಗರಿಷ್ಠ subarray ರೇಖೀಯ ಸಮಯ, ಏಕೆಂದರೆ ಮತ್ತು ಈ ಕಡಿತ, ಈ ಡೆಲ್ಟಾ ಶ್ರೇಣಿಯನ್ನು ರಚಿಸುವ ಈ ಪ್ರಕ್ರಿಯೆ, ಸಹ ರೇಖೀಯ ಸಮಯ ನಂತರ ಷೇರುಗಳ ಅಂತಿಮ ಪರಿಹಾರ O (N) ಕೆಲಸದ ಜೊತೆಗೆ ಒ (N) ಕೆಲಸ, ಇನ್ನೂ ಒ (N) ಕೆಲಸ. ಆದ್ದರಿಂದ ನಾವು ನಮ್ಮ ಸಮಸ್ಯೆಗೆ ಒಂದು ರೇಖೀಯ ಕಾಲದ ಪರಿಹಾರ ಹೊಂದಿವೆ. ಎಲ್ಲರಿಗೂ ಈ ರೂಪಾಂತರ ಅರ್ಥ ಡಸ್? ನೀವು ಯಾವಾಗಲೂ ಇರಬೇಕು ಎಂದು ಸಾಮಾನ್ಯವಾಗಿ ಒಳ್ಳೆಯದು ನಿಮಗೆ ಎದುರಾದರೆ ಒಂದು ಹೊಸ ಸಮಸ್ಯೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ ಇದೆ. ಇದು ಹಳೆಯ ಸಮಸ್ಯೆಗೆ ಪರಿಚಿತ ಕಾಣುತ್ತದೆ ವೇಳೆ, ಹಳೆಯ ಸಮಸ್ಯೆಗೆ ತಗ್ಗಿಸುವ ಪ್ರಯತ್ನಿಸಿ. ಮತ್ತು ನೀವು ಹಳೆಯ ಸಮಸ್ಯೆ ಬಳಸಲ್ಪಡುತ್ತದೆ ಎಂಬುದನ್ನು ಎಲ್ಲಾ ಉಪಕರಣಗಳು ಬಳಸಬಹುದು ವೇಳೆ ಹೊಸ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು. ಆದ್ದರಿಂದ ಅಂತಿಮಗೊಳಿಸಲು, ತಾಂತ್ರಿಕ ಇಂಟರ್ವ್ಯೂ ಸವಾಲಾಗಿದೆ. ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಬಹುಶಃ ಹೆಚ್ಚು ಕ್ಲಿಷ್ಟ ಸಮಸ್ಯೆಗಳನ್ನು ಕೆಲವು ನೀವು, ಸಂದರ್ಶನವೊಂದರಲ್ಲಿ ನೋಡಿ ಎಂದು ನೀವು ನಾನು ಆವರಿಸಿದ್ದ ಎಲ್ಲಾ ಸಮಸ್ಯೆಗಳನ್ನು ಅರ್ಥ ಇದ್ದರೆ ಆದ್ದರಿಂದ, ಇದು ಸರಿಯಾಗಿಯೆ. ಈ ಹೆಚ್ಚಿನ ಸಮಸ್ಯೆಗಳು ಕೆಲವು. ಅಭ್ಯಾಸ, ಅಭ್ಯಾಸ, ಅಭ್ಯಾಸ. ನಾನು ಕರಪತ್ರ ಸಮಸ್ಯೆಗಳನ್ನು ಸಾಕಷ್ಟು ನೀಡಿದ್ದಾರೆ, ಆದ್ದರಿಂದ ಖಂಡಿತವಾಗಿ ಆ ಪರಿಶೀಲಿಸಿ. ಮತ್ತು ನಿಮ್ಮ ಸಂದರ್ಶನ ಅದೃಷ್ಟ. ನನ್ನ ಎಲ್ಲ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಈ ಲಿಂಕ್ ನಲ್ಲಿ ಪೋಸ್ಟ್ ಮತ್ತು ನನ್ನ ಹಿರಿಯ ಸ್ನೇಹಿತರು ಒಂದು ಅಣಕು ತಾಂತ್ರಿಕ ಇಂಟರ್ವ್ಯೂ ಮಾಡಲು ನೀಡುತ್ತದೆ ನೀವು ನೀವು ಆಸಕ್ತಿ ಹಾಗಾಗಿ, ಇಮೇಲ್ ಇಮೇಲ್ ವಿಳಾಸದಲ್ಲಿ ಯಾವೊ ವಿಲ್. ನೀವು ಕೆಲವು ಪ್ರಶ್ನೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನೀವು ನನಗೆ ಕೇಳಬಹುದು. ನೀವು ಹುಡುಗರಿಗೆ ತಾಂತ್ರಿಕ ಇಂಟರ್ವ್ಯೂ ಸಂಬಂಧಿಸಿದ ನಿರ್ದಿಷ್ಟ ಪ್ರಶ್ನೆಗಳನ್ನು ಹೊಂದಿಲ್ಲ ಅಥವಾ ನಾವು ಇಲ್ಲಿಯವರೆಗೆ ನೋಡಿದ ಯಾವುದೇ ಸಮಸ್ಯೆಗಳು? ಸರಿ. ಅಲ್ಲದೆ, ನಿಮ್ಮ ಸಂದರ್ಶನ ಅದೃಷ್ಟ. [CS50.TV]