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.
Cool!
no you havnt ur blind
Got it, you're right! Thx! 🙏🏻
However, test cases do not test Unicode, only ASCII.
"Never do that!" sounds extreme. The intention of Kumite is to challenge and not repeat past solutions.
This was to similar to the previous 🤷🏻
Because Unicode
Because Unicode
TRUE! I've seen it on a map. 🔭😏
you are wrong because the earht is flat
Never do that
Boxing won't occur here.
char.IsUpper
takes achar
and returns abool
.bool
(orSystem.Boolean
) has aEquals(bool)
override, so the compiler won't choose theObject.Equals(Object)
method.Using
==
is still better practice, though, asEquals
), though the I'm nearly positivebool.Equals(bool)
would be inlinedThe ValueType class that all structs implicitly inherit don't have a generic implementation so only the object base class' .Equals method is implemented, meaning you'll have to go through expensive boxing for a simple comparison. This can even involve reflection
See here https://source.dot.net/#System.Private.CoreLib/src/System/ValueType.cs
Fortunately, seemingly all value types provided by .NET implement their own .Equals method to avoid boxing. So do record structs
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?
Loading more items...