সর্বনিম্ন মান ব্যবহার করে হ্রাস করুন


9

চ্যালেঞ্জ

এমন একটি ক্রিয়াকলাপ তৈরি করুন যা সংখ্যার অ্যারে নেয় এবং প্রতিটি উপাদান থেকে অ্যারেতে সর্বনিম্ন উপাদানটিকে বিয়োগ করে যা এখনও অন্য থেকে বিয়োগ হয় নি।

  • সর্বনিম্ন মান ব্যবহার করার পরে, এটি আর ব্যবহার করা যাবে না।
  • অ্যারেতে সংখ্যা দশমিক সংখ্যা, এবং অগত্যা পূর্ণসংখ্যার হয় না।

উদাহরণ:

Input: [6, 4, 7, 8, 9, 2, 1, 4]

Next lowest value:          Output:
[6, 4, 7, 8, 9, 2, 1, 4]    [6, 4, 7, 8, 9, 2, 1, 4]
                   ^         ^
                            6-1 = 5
[6, 4, 7, 8, 9, 2, -, 4]    [5, 4, 7, 8, 9, 2, 1, 4]
                ^               ^
                            4-2 = 2
[6, 4, 7, 8, 9, -, -, 4]    [5, 2, 7, 8, 9, 2, 1, 4]
    ^                              ^
                            7-4 = 3
[6, -, 7, 8, 9, -, -, 4]    [5, 2, 3, 8, 9, 2, 1, 4]
                      ^               ^
                            8-4 = 4
[6, -, 7, 8, 9, -, -, -]    [5, 2, 3, 4, 9, 2, 1, 4]
 ^                                       ^
                            9-6 = 3
[-, -, 7, 8, 9, -, -, -]    [5, 2, 3, 4, 3, 2, 1, 4]
       ^                                    ^
                            2-7 = -5
[-, -, -, 8, 9, -, -, -]    [5, 2, 3, 4, 3,-5, 1, 4]
          ^                                    ^
                            1-8 = -7
[-, -, -, -, 9, -, -, -]    [5, 2, 3, 4, 3,-5,-7, 4]
             ^                                    ^
                            4-9 = -5

Final output: [5, 2, 3, 4, 3, -5, -7, -5]

পরীক্ষার কেস

Input: [6, 4, 7, 8, 9, 2, 1, 4] => Output: [5, 2, 3, 4, 3, -5, -7, -5]

Input: [4, 7, 4, 9, -10, 8, 40] => Output: [14, 3, 0, 2, -18, -1, 0]

Input: [0.25, -0.5, 8, 9, -10] => Output: [10.25, 0, 7.75, 1, -19]

Input: [3, 4, 9, 1, 1, 1, -5] => Output: [8, 3, 8, 0, -2, -3, -14]


এই , তাই বাইটস মধ্যে সংক্ষিপ্ত উত্তর।


4
এটি ওয়াক-থ্রো উদাহরণ ব্যবহার করতে পারে। যেহেতু এটি এখন দাঁড়িয়ে আছে পরীক্ষার কেসগুলি থেকে কাজটি অনুমান করা দরকার।
লাইকনি

1
এটি করার জন্য সময় দেওয়ার জন্য @ আরনাউল্ডকে ধন্যবাদ। গতকাল থেকে আমি পিসি ব্যবহার করতে পারছি না তাই উদাহরণটি সংশোধন করতে পারিনি
লুইস ফিলিপ ডি জেসুস মুনোজ

3
অ্যারেগুলিতে অ-পূর্ণসংখ্যা অন্তর্ভুক্ত করার কোনও নির্দিষ্ট কারণ আছে কি? এটি চ্যালেঞ্জটিকে আরও আকর্ষণীয় করে তোলে না, কিছু পদ্ধতির বিধি নিষেধ করে এবং অ-পূর্ণসংখ্যার প্রকার ছাড়াই ভাষাগুলিতে একটি বড় সমস্যা।
ডেনিস

উত্তর:




4

কাস্তে , 4 বাইট

Ṡz-O

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

      -- input, e.g. [6,4,7,8,9,2,1,4]
   O  -- sort        [1,2,4,4,6,7,8,9]
Ṡz-   -- element wise difference to input: [6-1,4-2,7-4,8-4,9-6,2-7,1-8,4-9]
      -- return result [5,2,3,4,3,-5,-7,-5]

এটি একটি রসিকতা হতে হবে ..... 4 বাইট। দুর্দান্ত
লুইস ফিলিপ দে জেসুস মুনোজ


3

রুবি, 32 টি অক্ষর

->a{a.zip(a.sort).map{|x,y|x-y}}

আপনি কেবল মানগুলি মুদ্রণ করতে পারেন: -> a {a.zip (a.sort) {| x, y | পি xy}}
জিবি

3

জাভাস্ক্রিপ্ট (ES6), 44 বাইট

a=>[...a].map(x=>x-a.sort((a,b)=>b-a).pop())

এটি অনলাইন চেষ্টা করুন!

মন্তব্য

a =>                 // given the input array a[]
  [...a]             // create a copy of a[]
  .map(x =>          // for each integer x in the copy:
    x -              //   update x by ...
    a.sort((a, b) => //     sorting the original array in descending order
      b - a          //     (we only need to sort it once, but it's shorter to do it here)
    ).pop()          //     taking the element at the top of a[] and subtracting it from x
  )                  // end of map()

3

জাভা 10, 83 বাইট

a->{var b=a.clone();java.util.Arrays.sort(b);for(int i=0;i<a.length;a[i]-=b[i++]);}

বাইটগুলি সংরক্ষণ করতে কোনও নতুন ফেরতের পরিবর্তে ইনপুট-অ্যারে পরিবর্তন করে।

এটি অনলাইনে চেষ্টা করুন।

ব্যাখ্যা:

a->{                         // Method with double-array parameter and no return-type
  var b=a.clone();           //  Create a copy of the input-array
  java.util.Arrays.sort(b);  //  Sort this copy
  for(int i=0;i<a.length;    //  Loop over the indices
    a[i]-=                   //   Subtract from the `i`'th item in the input-array:
          b[i++]);}          //    The `i`'th item of the sorted array


3

পাইথন 3, 42 40 বাইট

lambda a:[b-c for b,c in zip(a,sorted(a))]

lambda a:[a.pop(0)-b for b in sorted(a)]

37 বাইট ব্যবহার map
ovs

@ ওভস আপনার পাইথন 3 এর সমাধানের ধরণের কাজ করে It এটি mapকোনও তালিকার পরিবর্তে কোনও বস্তু ফিরিয়ে দেয় । প্রতিযোগিতার প্রয়োজনীয়তার জন্য এটি কি ধূসর অঞ্চল হতে পারে? সম্ভবত আপনি এটি কেবল নিজের উত্তর হিসাবে জমা দিতে পারেন, কারণ এটি যোগ্যতার পক্ষে যথেষ্ট আলাদা।
মাইপিটলিয়ন

@ovs অনুমানটি আরও জানায় যে ইনপুটটি অগত্যা হবে না int, তাই আমি আমার যেমনটি রেখে চলেছি।
mypetlion

কোনও mapঅবজেক্ট ফিরিয়ে দেওয়া বৈধ, তবে অন্তর্নিহিত প্রয়োজনীয়তা আমার পরামর্শটিকে অবৈধ করে তোলে।
ovs







1

স্ট্যাক্স , 5 বাইট

ÿ◙┘¿N

এটি চালান এবং এটি ডিবাগ করুন

এটি কীভাবে কাজ করে তা দেখাতে এখানে আনপ্যাকড, মন্তব্য করা সংস্করণ।

m       for each element execute, then pop and print:
  xo    sort the original input
  i@    index into array using iteration index
  -     subtract

এটি চালান




1

স্মাইলব্যাসিক, 49 বাইট

DEF R A
DIM B[0]COPY B,A
SORT B
ARYOP 1,A,A,B
END

ইনপুট অ্যারেটি পরিবর্তিত হয়েছে।

ARYOPএকবারে পুরো অ্যারেগুলিতে অপারেশন করে। এই ক্ষেত্রে এটি ফলাফল Bথেকে বিয়োগ করে Aএবং সংরক্ষণ করে A




আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.