每日打卡6

2032.至少在两个数组中出现的值

力扣

简单题,读题,然后暴力模拟就行

int* twoOutOfThree(int* nums1, int nums1Size, int* nums2, int nums2Size, int* nums3, int nums3Size, int* returnSize){
    int *ret = (int *)malloc( sizeof(int) * 300 );//三个数组每个数组100长度,那么一共300
    int i, j;
    int cnt = 0;
    *returnSize = 0;
    for(i = 1; i <= 100; ++i) {//i的边界一百,请看后边的数据要求,所提示的数组长度
        cnt = 0;//记录某个数值在三个数组中出现的次数

       //计算第一个数组的第j个元素是否和某个数相等
        for(j = 0; j < nums1Size; ++j) {
            if(nums1[j] == i) {
                ++cnt;
                break;
            }
        }


        //计算第二个数组的第j个元素是否和某个数相等
        for(j = 0; j < nums2Size; ++j) {
            if(nums2[j] == i) {
                ++cnt;
                break;
            }
        }

        //计算第三个数组的第j个元素是否和某个数相等
        for(j = 0; j < nums3Size; ++j) {
            if(nums3[j] == i) {
                ++cnt;
                break;
            }
        }
       
        if(cnt >= 2) {//如果某个数字大于两次出现,就开始记录进开辟的数组中返回打印
            ret[  (*returnSize)++ ] = i;
        }
    }

    return ret;
}

### 如何使用Java实现每日打卡功能 为了实现每日打卡的功能,可以采用多种数据结构来保存员工的打卡记录。考虑到效率和资源利用的最大化,一种有效的方法是使用位图来存储每月的签到状态[^1]。 #### 使用位图存储打卡记录 ```java import java.util.HashMap; import java.util.Map; public class CheckInSystem { private static final int DAYS_IN_MONTH = 30; // 假设一个月最大为30天 public static void main(String[] args) { Map<Integer, Integer> checkIns = new HashMap<>(); // 初始化一些用户的打卡情况 addCheckIn(checkIns, 1); addCheckIn(checkIns, 2); addCheckIn(checkIns, 1); System.out.println("User ID: " + getCheckInCount(checkIns, 1)); } /** * 添加一次打卡记录给指定用户ID. */ public static void addCheckIn(Map<Integer, Integer> checkIns, int userId) { checkIns.merge(userId, 1, Integer::sum); // 如果存在则加一,不存在初始化为1 } /** * 获取特定用户ID的总打卡次数. */ public static int getCheckInCount(Map<Integer, Integer> checkIns, int userId){ return checkIns.getOrDefault(userId, 0); } } ``` 上述代码展示了如何创建一个简单的打卡系统,其中`checkIns`是一个哈希表,键为用户ID,值为其对应的整数形式的位图表示法中的数值。每当调用`addCheckIn()`函数时,就会更新该用户的打卡计数器;而`getCheckInCount()`用于查询某个具体用户的累计打卡数量。 然而,这只是一个简化版的例子,并未完全按照原始需求中提到的具体规则(比如优先级排序等)进行处理。对于更复杂的需求,则可能需要进一步扩展此基础架构以满足实际应用场景的要求。 针对具体的排名计算以及输出前五名最活跃成员的任务,可以通过遍历整个映射表并将条目收集至列表中,之后依据自定义比较器对这些条目执行排序操作来达成目标。最后选取列表头部五个元素作为最终的结果集返回。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值