Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

40,026 questions

51,982 answers

573 users

How to get the top N highest values from array with index in C#

1 Answer

0 votes
using System;
using System.Linq;

class Program
{
    static void Main() {
        int[] arr = { 12, 98, 80, 50, 88, 35, 60, 97, 87, 91 };

        int N = 4;
        var topThree = arr.Select((val, i) => new { val, i })
                        .OrderByDescending(x => x.val)
                        .ThenByDescending(x => x.i)
                        .Take(N)
                        .ToArray();

        foreach (var entry in topThree) {
            Console.WriteLine("value: " + entry.val + " index: " + entry.i);
        }
    }
}
 
 
 
 
 
/*
run:
 
value: 98 index: 1
value: 97 index: 7
value: 91 index: 9
value: 88 index: 4
 
*/

 



answered Jun 8, 2021 by avibootz

Related questions

1 answer 211 views
1 answer 106 views
1 answer 128 views
1 answer 115 views
1 answer 110 views
1 answer 64 views
1 answer 238 views
...