Лучше для чего?Я думаю, что вторую версию легче понять с первого взгляда, хотя у других людей могут быть другие мнения.
Если вы заинтересованы в производительности, должно быть легко выбрать время для двух методов.(Это может даже иметь значение.)
Если посмотреть на это с точки зрения производительности, я подозреваю, что второй метод будет быстрее, поскольку он будет работать через массив по одной строке кэша за раз.Первый метод будет работать через массив по одной строке кэша за раз, а затем выполнять N ошибок кэша.Я предполагаю, что это более важно, чем помещать в цикл дополнительные условные выражения.
Итак, если инициализация массива занимает значительное время по сравнению с другими операциями, и это имеет значение, время каждой из них и посмотреть.Если нет, то перейдите на более читаемую версию.