একটানা সংখ্যার দীর্ঘতম রান সন্ধান করুন


15

সাধারণ চ্যালেঞ্জ: ইতিবাচক পূর্ণসংখ্যার একটি সিরিজ দেওয়া, এটির সংখ্যার মধ্যে থাকা সংখ্যাটি টানা অঙ্কের দীর্ঘতম রানটি সন্ধান করুন। শিল্প খাত? সম্ভাব্য মানগুলি ( 0123456789) এর চারপাশে মোড়ানো এবং পিছনের দিকে চালানোর জন্য রানগুলিতে অঙ্কগুলির জন্য এটি অনুমোদিত । সুতরাং উভয় 2345,89012 এবং 5432109পরপর সংখ্যা (কিন্তু বৈধ রান হয় 3456765না 321090123হিসাবে চালায় একই সবসময় হতে হবে যদিও 3456765দুই রান হিসেবে বিবেচনা করা যেতে পারে: 34567এবং 765)। সম্পর্কের ক্ষেত্রে প্রথমটি ফেরত দিন।

পরীক্ষার কেস:

Input:  [3274569283, 387652323, 23987654323648, 2345687913624]
Output: 23987654323648 
        (The run is 98765432; run length: 8)

Input:  [123012363672023, 098761766325432, 15890123456765]
Output: 15890123456765
        (The run is 8901234567; run length: 10)

Input:  [43, 19, 456]
Output: 456

Input:  [5, 9, 0]
Output: 5

Input:  [71232107, 7012347]
Output: 7012347

Input:  [1234, 32109876]
Output: 32109876

Input:  [9090, 123]
Output: 123

মন্তব্য:

  • ইনপুটটিতে কমপক্ষে একটি নম্বর থাকবে।
  • ইনপুট সংখ্যায় নেতৃস্থানীয় জিরো থাকতে পারে।
  • ইনপুট এবং আউটপুট হতে পারে কোনও যুক্তিসঙ্গত বিন্যাসে । সুতরাং ইনপুট নম্বরগুলি স্ট্রিং, অঙ্ক / অক্ষরের তালিকা হিসাবে নেওয়া যেতে পারে ...
  • আউটপুটটিতে পিছনে এবং / অথবা নেতৃস্থানীয় সাদা স্থান এবং নিউলাইনগুলি মুদ্রিত হওয়া অবধি থাকতে পারে।
  • এটি , তাই প্রতিটি ভাষার পক্ষে সংক্ষিপ্ততম প্রোগ্রাম / ফাংশন জিতে যেতে পারে!


কেবল নিশ্চিত হতেই, তালিকাটি নিজেই গুটিয়ে রাখতে পারে না, তাই না? (আমি তালিকা মোড়ক হিসাবে অঙ্কের মোড়কে ভুল বুঝেছি) তাই হ্যাঁ, এর চেয়ে [7,8,1,6]সর্বাধিক রান রয়েছে ? [7,8][6,7,8]
জোনাথন অ্যালান

1
@ জোনাথান অ্যালান হ্যাঁ, সর্বাধিক রান 78সেই ক্ষেত্রে।
চার্লি

উত্তর:


4

জেলি , 18 বাইট

I9,-;N¤yŒgỊS€ṀµÐṀḢ

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

নেতৃস্থানীয় শূন্যগুলি সংরক্ষণের জন্য ডিজিটের তালিকা হিসাবে নেয় এবং ফেরত দেয়।


খনি অনুরূপ সমস্যা - চেষ্টা এই আকার আউট (আমি বিশ্বাস করি এটা ভুল ফলাফলের ফেরৎ - আমি এটা প্রস্তাব করেছি একটি পরীক্ষা ক্ষেত্রে ঠিক নিশ্চিত হতে)।
জোনাথন অ্যালান

@ জোনাথান অ্যালান আমার মনে হয় এটাই সঠিক ফলাফল? (সেখানে 3210প্রথম সংখ্যা
বিটিডব্লিউতে রয়েছে

আহ উফ, এই , দুঃখিত!
জোনাথন অ্যালান

@ জোনাথন অ্যালান ওহ, আমি আপনাকে বোঝাতে চাইছি ... এটি সম্ভবত Aসেখানে থাকার কারণে ।
এরিক আউটগল্ফার

@ জোনাথান অ্যালান ফিক্সড
এরিক আউটগল্ফার

3

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

অঙ্কের তালিকাগুলির তালিকা হিসাবে ইনপুট নেয়। সেরাটি প্রদান করে।

a=>a.map(s=>s.map(n=>(i=(d=(x-(x=n)+11)%10)&&d-2?0:d-p?(p=d,1):i+1)>j&&(r=s,j=i),p=x=-10),j=-1)&&r

পরীক্ষার মামলা


3

জেলি ,  18 16  15 বাইট

I%⁵Œg%8ċ€1ṀµÐṀḢ

একটি মোনাডিক লিঙ্ক অঙ্কের তালিকাগুলির একটি তালিকা গ্রহণ করে এবং বর্ণিত হিসাবে সর্বাধিক রান সহ বামতম একটিকে ফিরিয়ে দেয়।

এটি অনলাইন চেষ্টা করুন! অথবা একটি পরীক্ষা স্যুট দেখুন (আই / ও দেখতে যেমন তৈরি হয় তেমন প্রক্রিয়াকরণ সহ) দেখুন।

কিভাবে?

I%⁵Œg%8ċ€1ṀµÐṀḢ - Link: list of lists of integers (digits) from [0-9]
           µÐṀ  - keep elements for which the link to the left is maximal:
I               -   incremental differences (i.e. [a2-a1, a3-a2, ...])
  ⁵             -   literal 10
 %              -   modulo by (i.e. [(a2-a1)%10, (a3-a2)%10, ...])
                -     this equates deltas of -9 and -1 with 1 and 9 respectively
   Œg           -   group runs of equal elements
     %8         -   modulo by 8; vectorised (9s become 1s, others unaffected)
       ċ€1      -   count number of 1s in €ach group
          Ṁ     -   maximum
              Ḣ - head (get the first one of those that were maximal)

V€এটি সম্পর্কে নিশ্চিত নয়, আপনাকে নেতৃস্থানীয় শূন্যগুলি গণনা করতে হতে পারে।
এরিক দি আউটগলফার

এটি স্টিং ইনপুটটির শীর্ষস্থানীয় শূন্যগুলি গণনা করে, তবে আমি দেখতে পাচ্ছি আমরা অঙ্কের তালিকাগুলির তালিকা নিতে পারি ...
জোনাথন অ্যালান

আমি মনে করি আপনি নেতৃস্থানীয় শূন্যকে সমর্থন করবেন বলে মনে করা হচ্ছে।
এরিক দি আউটগল্ফার

আমি নেতৃস্থানীয় শূন্যগুলি সমর্থন করি
জোনাথন অ্যালান

1
আমি "এটি গণনা করি না ..." হিসাবে পড়েছি
এরিক দ্য আউটগল্ফার

2

পাইথন 2 , 118 বাইট

অঙ্কের তালিকার একটি তালিকা নেয় a; এর একটি তালিকাকে ফেরত দেয়।

lambda a:max(a,key=lambda l:len(max(re.findall('1+|9*',`[(x-y)%10for x,y in zip(l,l[1:])]`[1::3]),key=len)))
import re

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


ইনপুট ব্যর্থ [[9,0,9,0],[1,2,3]]
জাগারব

@ জগারব উফ, আপনি ঠিক বলেছেন আমি যাই একটি পুরানো সংস্করণ ফিরে।
লিন

1

হুশ , 20 বাইট

←Ö¤<(→Of€1†%8gẊo%10-

সংখ্যার তালিকার একটি তালিকা নেয় এবং ফেরত দেয়। এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

←Ö¤<(→Of€1†%8gẊo%10-  Implicit input.
←                     Return first element of
 Ö                    the input sorted in a stable manner
   <                  in descending order
  ¤ (                 with respect to the following function:
                       Argument is list of digits, say [5,2,1,0,9,1,0].
                   -   Differences
               o%10    mod 10
              Ẋ        of all adjacent pairs: [7,9,9,9,2,1]
             g         Group adjacent equal elements: [[7],[9,9,9],[2],[1]]
          †%8          Vectorized mod 8: [[7],[1,1,1],[2],[1]]
       f€1             Keep those runs where 1 occurs: [[1,1,1],[1]]
      O                Sort in ascending order: [[1],[1,1,1]]
     →                 Take last element (gives [] on empty list): [1,1,1]
                       This is a list of 1s with length one less than
                       the longest run of consecutive digits.

1

ম্যাটল্যাব, ১৩০ বাইট

অ্যারে ইনপুট নিন, কলাম পার্থক্যের অ্যারে [X (2) -X (1), ..., এক্স (এন) -এক্স (এন -1)], অ্যারেতে সর্বাধিক ঘন মানটি (1 আরোহণের ক্রম - 1 অন্যথায়), সর্বাধিক ঘন মানের সাথে সূচকটি পান বা -9 সবচেয়ে ঘন ঘন মানের দ্বারা গুণিত হয় (-9 আরোহী ক্রমে ঘটে, 9 অন্যথায়), পরপর সূচকগুলি (যেমন যার পার্থক্য 1 সমান) সন্ধান করুন এবং যোগফলটি যোগ করুন দেরী হয়েছে, কারণ দয়া করে। সবচেয়ে বড় আউটপুট।

a=input('')
t=[]
for i=1:numel(a)
b=diff(num2str(a(i))-'0')
c=mode(b)
t=[t sum(diff(find(b==c|b==-9*c))==1)]
end
[t,I]=max(t),a(I)

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

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