我想比较2个字符串并保持匹配,在比较失败的地方分开。 因此,如果我有2个字符串- string1 = apples string2 = appleses answer = apples 另一个示例,因为字符串可能包含多个单词。 string1 = apple pie available string2 = apple pies answer = apple pie 我敢肯定有一种简单的Python方式可以做到这一点,但是我无法解决,感谢您的帮助和解释。
在Microsoft采访中已经问过这个问题。非常好奇地知道为什么这些人对概率提出如此奇怪的问题? 给定rand(N),一个随机生成器,生成从0到N-1的随机数。 int A[N]; // An array of size N for(i = 0; i < N; i++) { int m = rand(N); int n = rand(N); swap(A[m],A[n]); } 编辑:请注意种子是不固定的。 数组A保持不变的概率是多少? 假设数组包含唯一元素。
著名的Fisher-Yates随机播放算法可用于随机排列长度为N的数组A: For k = 1 to N Pick a random integer j from k to N Swap A[k] and A[j] 一遍又一遍地告诉我不要犯的一个常见错误是: For k = 1 to N Pick a random integer j from 1 to N Swap A[k] and A[j] 也就是说,您不是从k到N中选择一个随机整数,而是从1到N中选择了一个随机整数。 如果您犯了这个错误怎么办?我知道结果排列不是均匀分布的,但是我不知道对结果分布有什么保证。特别是,是否有人对元素的最终位置上的概率分布有表达式?