Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- from math import floor
- from random import random
- def fill_array(N, M):
- """
- :param N: matrix length
- :param M: randomizer multiplier, should be more, than N
- """
- n = N
- m = M
- if n > m:
- n, m = m, n # swap values in case of N is bigger than M
- result = [] # Could be any iterable. dict/set are better due to O(1) search complexity
- diff = m - n
- for e in range(N):
- val = int(floor(random()*m)) % diff
- if val not in result:
- result.append(val)
- else:
- # if generated value is in resulting array already, use diff instead
- val = diff
- result.append(val)
- diff += 1
- return len(set(result)) == N
- if __name__ == "__main__":
- print fill_array(100, 110)
- print fill_array(10, 100)
- print fill_array(100, 101)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement