@ আদনানকে 2 বাইট সংরক্ষণ করা হয়েছে
0š¥þO
এটি অনলাইন চেষ্টা করুন!
কিভাবে?
এটি প্রথমে @tsh দ্বারা পাওয়া আলগোরিদিমটি ব্যবহার করছে । আপনি যদি এই উত্তরটি পছন্দ করেন তবে তাদের উত্তরটিও উজ্জীবিত করতে ভুলবেন না !
প্রতিবারের চেয়ে আকাশচুম্বী কম বা তত বেশি হলে ব্রাশস্ট্রোকগুলি কেবল প্রসারিত করে 'বিনামুল্যে' আঁকা যায়।
উদাহরণস্বরূপ, নীচের চিত্রটিতে আকাশচুম্বী এবং আঁকার কোনও দাম নেই।B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষরসি
অন্যদিকে, আকাশচুম্বী আঁকার জন্য আমাদের 2 টি নতুন ব্রাশস্ট্রোক প্রয়োজন , সেগুলির পরে সেগুলি পুনরায় ব্যবহার করা হচ্ছে কিনা তা বিবেচ্য নয়।ই
প্রথম আকাশচুম্বী জন্য, আমাদের সর্বদা যতটা ব্রাশস্ট্রোক প্রয়োজন সেখানে এটি মেঝে রয়েছে।
এটিকে গণিতে রূপান্তর করা:
S=h0+∑i=1nmax(hi−hi−1,0)
আমরা যদি তালিকাতে পূর্বে অর্পণ করি তবে এটিকে সরলীকৃত করা যেতে পারে:0
S=∑i=1nmax(hi−hi−1,0)
মন্তব্য
0š¥þO # expects a list of non-negative integers e.g. [10, 9, 8, 9]
0š # prepend 0 to the list --> [0, 10, 9, 8, 9]
¥ # compute deltas --> [10, -1, -1, 1]
þ # keep only values made of decimal digits
# (i.e. without a minus sign) --> ["10", "1"]
O # sum --> 11