牛牛最近在玩一个石头游戏。在这个游戏中,牛牛和他的朋友轮流从一堆石头中取石头。牛牛是一个非常聪明的小动物,他总是第一个开始取石头。在每一轮中,他和朋友都可以取走1至3块石头,取走最后一块石头的玩家将成为赢家。 给定一个非负整数数组,表示多堆石头的数量。牛牛想知道,对于每一堆石头,如果按照上述规则进行游戏,他是否能保证自己赢得游戏?如果牛牛能赢,返回1;如果牛牛不能赢,返回0。请你帮助牛牛解决这个问题。
示例1
输入
[1, 2, 3, 4, 5]
输出
[1,1,1,0,1]
加载中...
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ public int[] canWin (int[] piles) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型vector * @return int整型vector */ vector
canWin(vector
& piles) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param piles int整型一维数组 # @return int整型一维数组 # class Solution: def canWin(self , piles ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ public List
canWin (List
piles) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ function canWin( piles ) { // write code here } module.exports = { canWin : canWin };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param piles int整型一维数组 # @return int整型一维数组 # class Solution: def canWin(self , piles: List[int]) -> List[int]: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ func canWin( piles []int ) []int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @param pilesLen int piles数组长度 * @return int整型一维数组 * @return int* returnSize 返回数组行数 */ int* canWin(int* piles, int pilesLen, int* returnSize ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param piles int整型一维数组 # @return int整型一维数组 # class Solution def canWin(piles) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ def canWin(piles: Array[Int]): Array[Int] = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ fun canWin(piles: IntArray): IntArray { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ public int[] canWin (int[] piles) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ export function canWin(piles: number[]): number[] { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ func canWin ( _ piles: [Int]) -> [Int] { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param piles int整型一维数组 * @return int整型一维数组 */ pub fn canWin(&self, piles: Vec
) -> Vec
{ // write code here } }
[1, 2, 3, 4, 5]
[1,1,1,0,1]