কম্পিউটার

C++ এ ডায়াগোনাল ট্রাভার্স II


ধরুন আমাদের কাছে সংখ্যা নামক তালিকার একটি তালিকা আছে, আমাদের সংখ্যার সমস্ত উপাদানকে তির্যক ক্রমে দেখাতে হবে।

সুতরাং, যদি ইনপুট মত হয়

C++ এ ডায়াগোনাল ট্রাভার্স II

তাহলে আউটপুট হবে [1,6,2,8,7,3,9,4,12,10,5,13,11,14,15,16]

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • একটি অ্যারে ret সংজ্ঞায়িত করুন

  • একটি 2D অ্যারে v

    সংজ্ঞায়িত করুন
  • আরম্ভ করার জন্য i :=0, যখন i <সংখ্যার আকার, আপডেট (i 1 দ্বারা বৃদ্ধি), −

    • j শুরু করার জন্য :=0, যখন j <সংখ্যার আকার[i], আপডেট করুন (j 1 দ্বারা বৃদ্ধি করুন), করুন −

      • v

        এর শেষে { nums[i, j], i, j } সন্নিবেশ করুন
  • অ্যারে সাজান v

  • প্রতিটির জন্য এটি v, do,

    • এটি [0] ret-এর শেষে ঢোকান

  • রিটার্ন রিটার্ন

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include নেমস্পেস ব্যবহার করে std;void print_vector(vector v){ cout <<"["; for(int i =0; i&a, ভেক্টর &b){ int sum1 =a[1] + a[2]; int sum2 =b[1] + b[2]; যোগফল 1 ==যোগফল 2? a[1]> b[1] :sum1  FindDiagonalOrder(ভেক্টর এবং সংখ্যা) { ভেক্টর ret; ভেক্টর<ভেক্টর> v; (int i =0; i > v ={{1,2,3,4,5},{6,7},{8},{9,10,11},{12,13,14,15,16 }}; print_vector(ob.findDiagonalOrder(v));}

ইনপুট

{{1,2,3,4,5},{6,7},{8},{9,10,11},{12,13,14,15,16}}

আউটপুট

<প্রে>[1, 6, 2, 8, 7, 3, 9, 4, 12, 10, 5, 13, 11, 14, 15, 16, ]
  1. C++ এ রেখার প্রতিফলন

  2. C++ এ ম্যাট্রিক্সের জিগজ্যাগ (বা তির্যক) ট্রাভার্সাল

  3. C++ এ লোয়ার দিয়ে উপরের তির্যক অদলবদল করুন

  4. C++ এ static_cast