Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Write a method called isMagicSquare that accepts a two-dimensional array of integers as a parameter and returns true if it is a magic square. A square matrix is a magic square if it is square in shape (same number of rows as columns, and every row the same length), and all of its row, column, and diagonal sums are equal. For example, [[2, 7, 6], [9, 5, 1], [4, 3, 8]] is a magic square because all eight of the sums are exactly 15.
> Как сократить?
Для нячаля выкинуть книжку, в которой написано про один return. Тут как с попом на пляже: либо одновозврат снять, либо длинный код нядеть.
Выкинь массив массивов, и используй массив N*M. Суммирование вынеси в функцию, принимающую на вход начальный индекс и stride. Обход по горизонтали и вертикали тогда станет одной функцией, которую можно использовать джважды.
imrnccc # 0
PolinaAksenova # 0
Для нячаля выкинуть книжку, в которой написано про один return. Тут как с попом на пляже: либо одновозврат снять, либо длинный код нядеть.
imrnccc # 0 ⇈
bormand # 0
Ну что, начинаем специальную олимпиаду?
KoWe4Ka_l7porpaMMep # 0
imrnccc # 0 ⇈
KoWe4Ka_l7porpaMMep # 0 ⇈
Я так в «2048» сделал из четырёх циклов для четырёх свайпов – один цикл. Это моё самое большое достижение в жизни, я им очень горжусь.
bormand # 0 ⇈
KoWe4Ka_l7porpaMMep # 0 ⇈
CHayT # 0
bormand # 0 ⇈
З.Ы. Жаль я жабий linq не знаю.
PolinaAksenova # 0
https://wandbox.org/permlink/d7PT5YWjB6DfBmTN
Можня это всё переписать на компайл-тайм std::array<>, но так ня интересно (и компилятор страдать будет меньше).