Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
True but this doesnt't work, wouldn't pass any tests and doesn't conform to the tests
using System.Linq;class M{static T x(params T[]p)=>p.Max();}
You're right, vectorMax should be initialized to that to account for negatives.
Copying the vectors isn't an issue. You need two vectors to intrinsically compare two vectors. Doing this alone already compensates for the time spent copying some memory around. Memory is cheap. In fact, doing most things in C# involve allocating memory. A foreach loop even creates copies of values.
From benchmarks I have done a while ago, this method of comparing values in an array is magnitudes faster than any scalar method.
You iterate through every vector which would not any faster than copying a very small block of memory after using abstracted intrinsics to compare two vectors. Under the hood, the Max method allows for "jit intrinsic expansions" so you should save the entirety of the compared vectors until you're done with vectors
Thanks for explaining your choices :)
var vectorMax = Vector<int>.Zero;
butvar vectorMax = Vector<int>(int.MinValue);
should be, I thinkvar blockVector = new Vector<int>(nums, blockIndex);
copy memoryvectorMax = Vector.Max(vectorMax, blockVector);
copy memory2 memory coping. Is it faster then classic loop?
if (items == null || items.Length == 0)
C# compiler makes check on null them self, soif (items.Length == 0)
is enought.max = items[i].CompareTo(max) > 0 ? items[i] : max;
is slower thenif (max.CompareTo(items[i]) < 0) max = items[i];
I love
var
more thenT
because code can be copied and paste to another place without changing.