#c# #package
Вопрос:
итак, у меня есть тестовая оценка, которую мне нужно выполнить, это один вопрос, с которым у меня возникли проблемы. Мне нужно, чтобы поднять тяжелый объект(наибольшее количество) и разместить их в порядке наложения (тяжело на дно, подсветка сверху) проблема, которую я имею что я не знаю, где начать, собственно, код, который я использую, — это C#, однако я знаю, что я должен использовать метод сортировки. поэтому моя главная проблема в том, что я пытаюсь выяснить, каков мой начальный шаг и как продвигаться дальше. Также я считаю, что это может быть в играх codin, но пока нигде не нашел его, если кто-нибудь сможет найти его название, это также будет очень полезно.
Ответ №1:
Я думаю, что в этом случае вызов Sort
является излишним, так как он используется на IEnumerable
s, которых у вас нет и которые вам нужно создать.
Я думаю, что было бы проще просто использовать эту страницу, чтобы учиться у: https://www.tutorialspoint.com/Chash-program-to-find-the-maximum-of-three-numbers
Похоже, что сортировка в этом случае не поможет, так как вам нужно возвращать индекс веса, а не размер.
Вы можете попробовать создать словарь с индексом и весом и использовать linq, чтобы найти самый большой вес:
public static int GetHeaviestWeightIndex(int weight1, int weight2, int weight3)
{
var weightToIndexMapping = new Dictionary<int, int> {{weight1, 0}, {weight2, 1}, {weight3, 2}};
return weightToIndexMapping[weightToIndexMapping.Keys.Max()];
}
Если вы настаиваете на использовании Sort
, вы можете попробовать использовать SortedDictoinary
как здесь: https://www.geeksforgeeks.org/sorteddictionary-class-in-c-sharp/
Ответ №2:
Без каких-либо распределений, коллекций и списков:
using System;
public class Program
{
public static void Main(string[] args)
{
var a = 13;
var b = 14;
var c = 15;
Console.WriteLine(Solve(a, b, c));
}
public static int Solve(int weight0, int weight1, int weight2)
{
return weight0 > weight1
? weight0 > weight2
? 0 : 2
: weight1 > weight2
? 1 : 2;
}
}
Имейте в виду, что он не проверяет наличие негативов.