题解 | #记录点赞用户#

记录点赞用户

https://www.nowcoder.com/practice/19a766a67cdc4eb0a354d70597cf008b

import java.util.*;

public class Main {

    public static void main(String[] args) {
        LikeRecorder recorder = new LikeRecorderImpl();

        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String name = scanner.next();
            recorder.like(name);
        }
        
        System.out.println(Arrays.toString(recorder.getLikeUsers()));
    }

}

/**
 * 点赞记录器
 */
interface LikeRecorder {

    /**
     * 若用户没有点赞过,则记录此次点赞行为。
     * 若用户曾经点赞过,则删除用户点赞记录。
     *
     * @param username 用户名
     */
    void like(String username);

    /**
     * 返回所有点赞的用户名
     *
     * @return 用户名数组
     */
    String[] getLikeUsers();

}

class LikeRecorderImpl implements LikeRecorder {

    // write your code here......
    List<String> likeUsers=new LinkedList<String>();
    public void like(String username){
        if(likeUsers.contains(username)==true){
            likeUsers.remove(username);
        }else{
            likeUsers.add(username);
        }
    }

    public String[] getLikeUsers(){
        String[] res=new String[likeUsers.size()];
        for(int i=0;i<likeUsers.size();i++){
            res[i]=likeUsers.get(i);
        }
        return res;
    }

}

全部评论

相关推荐

用微笑面对困难:这里面最强的是驾驶证了,可以入职美团大厂,然后直接开启黄马褂人生
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务