牛牛和他的小伙伴一共n个人参加冬令营,他们的教官要求他们排成一排,每个人都有固定的位置,但是牛牛和他的小伙伴有些马虎,所以总是不记得他们到底站在哪个位置,但是他们记得之前站在他们左部分和站在他们右部分的人的人数差的绝对值a_i,根据这些值,牛牛想知道他们到底有多少种不同的站法?(结果需要对1e9+7取模)
示例1
输入
3,[2,0,2]
输出
2
说明
可能的站法(1 2 3), (3 2 1)
示例2
输入
3,[1,1,1]
输出
0
说明
不存在这样的站法
备注:
其中1=n=1000000, 0=a_i=1000000
加载中...
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ public int solve (int n, int[] a) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型vector * @return int整型 */ int solve(int n, vector
& a) { // write code here } };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 # @param a int整型一维数组 # @return int整型 # class Solution: def solve(self , n , a ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ public int solve (int n, List
a) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ function solve( n , a ) { // write code here } module.exports = { solve : solve };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 # @param a int整型一维数组 # @return int整型 # class Solution: def solve(self , n , a ): # write code here
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ func solve( n int , a []int ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @param aLen int a数组长度 * @return int整型 */ int solve(int n, int* a, int aLen ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 # @param a int整型一维数组 # @return int整型 # class Solution def solve(n, a) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ def solve(n: Int,a: Array[Int]): Int = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ fun solve(n: Int,a: IntArray): Int { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ public int solve (int n, int[] a) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ export function solve(n: number, a: number[]): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ func solve ( _ n: Int, _ a: [Int]) -> Int { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param a int整型一维数组 * @return int整型 */ pub fn solve(&self, n: i32, a: Vec
) -> i32 { // write code here } }
3,[2,0,2]
2
3,[1,1,1]
0