http://codeforces.com/contest/1005/problem/A

解题思路:能有什么思路,记得判最后一组就好了

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
const int maxn = 1000 + 10;
int a[maxn];
vector<int> di;

int main() {
    int n;
    cin >> n;
    for(int i = 1;i <= n;i++) {
        cin >> a[i];
        if(a[i] == 1 && i != 1) {
            di.push_back(a[i - 1]);
        }
    }
    di.push_back(a[n]);
    cout << di.size() << endl;
    for(auto &i : di)
        cout << i << " ";
    cout << endl;
    return 0;
}

JAVA:

import java.util.Scanner;
import java.util.Vector;

public class Main {

    public static void main(String args[]) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int x = 0,la = 0;
        Vector<Integer> v = new Vector<Integer>();
        for(int i = 1;i <= n;i++) {
            x = sc.nextInt();
            if(x == 1 && i != 1)
                v.add(la);
            la = x;
        }
        v.add(x);
        System.out.println(v.size());
        for(int ele : v) {
            System.out.print(ele + " ");
        }
    }
}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐