-1

假设你有一副牌在 JavaScript 数组中,A[1,2,3,4,, n ]其中、 和. 庄家向玩家询问一个数字,例如 m,然后从牌组中取出,面朝下,一个接一个。并将甲板的其余部分放在上面。A[1] = 1A[2] = 2A[n] = nA[1:m]

切后卡片 A[n] 的位置是什么?

4

1 回答 1

0

好吧,如果m=1and (m<n) 那么卡片将移动一个位置A[n-1],所以如果 m<=nA[n]是 at A[n-m]。从 1 个 JavaScript 数组开始的新数组将是A.slice(m).concat(A.slice(1,m-1).reverse().

使用 JavaScript:

function cut(A, n, m) {
   //Given array starting at 1, taking m off the top putting in reverse order
   // return the position where the A[n] now is
   if (m <= A.length) {
      alert('Cut point is too large for this deck size.');
   }
   if (m<n) {
      return n-m-1;
   }
   return A.length - n+ 1;
}
于 2020-06-22T13:52:44.987 回答