Problem 955. ismember: Enhanced Time Performance for 'rows' - Speed Scoring (90% savings)
I try but I don't understand the merge function (Alfonso and Richard solutions). Can you explain ?
since numbers only range from 0 to 3 you may consider each row of A or B as a 16-digit base-4 number and just convert it to a 32-bit integer...
But if we have less restrictions on the input range (for example values between 0 and 255) ?
Jean-Marie, the methodology of converting multiple column value words into a single value has limited but specific applications where value ranges are limited. In the case of DNA sequencing the values can be made numeric 0:3. For ranges up to 255 the width gets limited to stay under the 2^64, or 2^53 limit for double. This challenge was a demonstration of a method to improve performance for functions like ismember.
Solution CommentsShow comments
Problem Recent Solvers14
Project Euler: Problem 8, Find largest product in a large string of numbers
More from this Author260
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!