首页    新闻    小组    威客    人才    下载    博客    代码贴    在线编程    论坛
代码贴java小白兔的代码贴Java
import java.util.*;class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        while (sc.hasNext()) {            int N = sc.nextInt();            MultiValueMap<String, String> stringMultiValueMap = new LinkedMultiValueMap<>();            while (N-- > 0) {                String id = sc.next();                String time = sc.next();                stringMultiValueMap.add(id, time);            }            Set<String> keySet = stringMultiValueMap.keySet();            for (String key : keySet) {                List<String> values = stringMultiValueMap.getValues(key);                if (values.size() < 6)                    continue;                ArrayList<Integer> total_times = new ArrayList<>();                for (String value : values) {                    int h = Integer.parseInt(value.substring(0, 2));                    int d = Integer.parseInt(value.substring(3, 5));                    int s = Integer.parseInt(value.substring(6, 8));                    int total_time = h * 3600 + d * 60 + s;                    total_times.add(total_time);                }                Collections.sort(total_times);                if (check(total_times))                    System.out.println(key);            }        }    }    private static boolean check(ArrayList<Integer> list) {        for (int i = 0; i <= list.size() - 6; i++) {            for (int j = i + 1; j < i + 6; j++) {                if (Math.abs(list.get(i) - list.get(j)) >= 3600)                    return false;            }        }        return true;    }}interface MultiValueMap<K, V> {    void add(K key, V value);    void add(K key, List<V> values);    void set(K key, V value);    void set(K key, List<V> values);    void set(Map<K, List<V>> values);    List<V> remove(K key);    void clear();    Set<K> keySet();    List<V> values();    V getValue(K key, int index);    List<V> getValues(K key);    int size();    boolean isEmpty();    boolean containsKey(K key);}class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V> {    protected Map<K, List<V>> mSource = new LinkedHashMap<K, List<V>>();    public LinkedMultiValueMap() {    }    @Override    public void add(K key, V value) {        if (key != null) {            if (!mSource.containsKey(key))                mSource.put(key, new ArrayList<V>(2));            mSource.get(key).add(value);        }    }    @Override    public void add(K key, List<V> values) {        for (V value : values) {            add(key, value);        }    }    @Override    public void set(K key, V value) {        mSource.remove(key);        add(key, value);    }    @Override    public void set(K key, List<V> values) {        mSource.remove(key);        add(key, values);    }    @Override    public void set(Map<K, List<V>> map) {        mSource.clear();        mSource.putAll(map);    }    @Override    public List<V> remove(K key) {        return mSource.remove(key);    }    @Override    public void clear() {        mSource.clear();    }    @Override    public Set<K> keySet() {        return mSource.keySet();    }    @Override    public List<V> values() {        List<V> allValues = new ArrayList<V>();        Set<K> keySet = mSource.keySet();        for (K key : keySet) {            allValues.addAll(mSource.get(key));        }        return allValues;    }    @Override    public List<V> getValues(K key) {        return mSource.get(key);    }    @Override    public V getValue(K key, int in
阅读全部 | 2018年11月7日 16:57
import java.util.*;class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        while (sc.hasNext()) {            int N = sc.nextInt();            MultiValueMap<String, String> stringMultiValueMap = new LinkedMultiValueMap<>();            while (N-- > 0) {                String id = sc.next();                String time = sc.next();                stringMultiValueMap.add(id, time);            }            Set<String> keySet = stringMultiValueMap.keySet();            for (String key : keySet) {                List<String> values = stringMultiValueMap.getValues(key);                if (values.size() < 6)                    continue;                ArrayList<Integer> total_times = new ArrayList<>();                for (String value : values) {                    int h = Integer.parseInt(value.substring(0, 2));                    int d = Integer.parseInt(value.substring(3, 5));                    int s = Integer.parseInt(value.substring(6, 8));                    int total_time = h * 3600 + d * 60 + s;                    total_times.add(total_time);                }                Collections.sort(total_times);                if (check(total_times))                    System.out.println(key);            }        }    }    private static boolean check(ArrayList<Integer> list) {        for (int i = 0; i <= list.size() - 6; i++) {            for (int j = i + 1; j < i + 6; j++) {                if (Math.abs(list.get(i) - list.get(j)) >= 3600)                    return false;            }        }        return true;    }}interface MultiValueMap<K, V> {    void add(K key, V value);    void add(K key, List<V> values);    void set(K key, V value);    void set(K key, List<V> values);    void set(Map<K, List<V>> values);    List<V> remove(K key);    void clear();    Set<K> keySet();    List<V> values();    V getValue(K key, int index);    List<V> getValues(K key);    int size();    boolean isEmpty();    boolean containsKey(K key);}class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V> {    protected Map<K, List<V>> mSource = new LinkedHashMap<K, List<V>>();    public LinkedMultiValueMap() {    }    @Override    public void add(K key, V value) {        if (key != null) {            if (!mSource.containsKey(key))                mSource.put(key, new ArrayList<V>(2));            mSource.get(key).add(value);        }    }    @Override    public void add(K key, List<V> values) {        for (V value : values) {            add(key, value);        }    }    @Override    public void set(K key, V value) {        mSource.remove(key);        add(key, value);    }    @Override    public void set(K key, List<V> values) {        mSource.remove(key);        add(key, values);    }    @Override    public void set(Map<K, List<V>> map) {        mSource.clear();        mSource.putAll(map);    }    @Override    public List<V> remove(K key) {        return mSource.remove(key);    }    @Override    public void clear() {        mSource.clear();    }    @Override    public Set<K> keySet() {        return mSource.keySet();    }    @Override    public List<V> values() {        List<V> allValues = new ArrayList<V>();        Set<K> keySet = mSource.keySet();        for (K key : keySet) {            allValues.addAll(mSource.get(key));        }        return allValues;    }    @Override    public List<V> getValues(K key) {        return mSource.get(key);    }    @Override    public V getValue(K key, int in
阅读全部 | 2018年11月7日 16:57
1
java小白兔