列表

详情


NC213974. 遥远的记忆

描述

很久很久以前的idea.

给你一个序列c,长度为n。

现在有一个序列a,长度为n。

对于:

如果 并且i>1那么

如果并且i<n那么

现在求序列a中最多有多少种不同的数字。



输入描述

第一行,一个正整数n。

第二行,n个整数,c_i.

输出描述

一个数,表示答案。

示例1

输入:

9
1 0 1 1 1 0 0 0 1

输出:

3

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++11) 解法, 执行用时: 77ms, 内存消耗: 2296K, 提交时间: 2020-11-22 19:47:12

#include<bits/stdc++.h>
using namespace std;
int a[1555555];
int main(){
	int n,ans=0;
	cin>>n;cin>>a[1];
	for(int i=2;i<=n;i++){
		cin>>a[i];
		if(a[i]!=a[i-1])ans++;
	}
	cout<<ans/2+1<<endl;
	return 0;
}

C(clang11) 解法, 执行用时: 38ms, 内存消耗: 3280K, 提交时间: 2021-03-30 20:14:09

#include<stdio.h>
int a[500005];
int main()
{
	int i,j,k,l,n;
	scanf("%d",&n);
	for(i=0;i<n;i++)scanf("%d",&a[i]);
	int sum=1;
	for(i=1;i<n;i++)
	if(a[i]==1&&a[i-1]==0)
	sum++;
	printf("%d",sum);
}

pypy3(pypy3.6.1) 解法, 执行用时: 104ms, 内存消耗: 42948K, 提交时间: 2020-11-22 20:55:20

n = int(input())
c = input().split(" ")
ans = 1
for i in range(n-1):
    if c[i] == '0':
        if c[i+1] == '1':
            ans += 1

print(ans)

Python3 解法, 执行用时: 50ms, 内存消耗: 9016K, 提交时间: 2023-07-24 17:23:15

input()
print(input().count('0 1')+1)

上一题