思路
根据题意,每个元素可以重复使用,所以只需统计对24取余后值值相同的个数,如当前数字对24取余后是3,那么只需知道取余后为21的元素个数即可知道当前元素可与,多少个元素构成整天的下标的数目
解题过程
从左往右遍历数组,将每个元素的对24取余所得值,用一个长度为24的数组arr存储个数值出现次数,如当前元素取余后是3,那么答案就需加上arr[21],遍历结束后返回答案即可
Code
class Solution {
public long countCompleteDayPairs(int[] hours) {
int size=24;
int arr[]=new int[size];
long ans=0;
for(int i:hours){
ans=ans+arr[(24-i%24)%24];
arr[i%24]++;
}
return ans;
}
}
作者:菜卷
链接:https://leetcode.cn/problems/count-pairs-that-form-a-complete-day-ii/solutions/2956664/gou-cheng-zheng-tian-de-xia-biao-dui-shu-tw1s/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。