题解 | #农场牛类别匹配#
农场牛类别匹配
https://www.nowcoder.com/practice/270db1e1d65b4366a49a517ec7822912
考察知识点:遍历
题目分析:
这个解题的逻辑就是把所有的数和处了这个数本身以外的所有的数进行两两相加,等于target_sum的就对count进行加1;
所有主要思路就是怎么实现一个可以满足充分配对组合的情况下,又不会出现重复配对导致count多加的情况下,实现问题。
正常来说取两个值i和j,用两个循环处理,当值时i的时候,将整个队列的除i以外的所有值都和i相加一遍,相等的就给count++;但是为了避免遇到已经匹配过的组合再次被匹配到,这里将j定义为i以后的数值和i进行相加配对
采用的编程语言:C
完整的编码代码:如下所示
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param breeds int整型一维数组 * @param breedsLen int breeds数组长度 * @param target_sum int整型 * @return int整型 */ int countMatchingPairs(int* breeds, int breedsLen, int target_sum ) { int count = 0; for (int i = 0; i < breedsLen; i++) { for (int j = i+1; j < breedsLen; j++) { if ((breeds[i] + breeds[j]) == target_sum) count++; } } return count; }
面试高频TOP202解析 文章被收录于专栏
采用Java,C,Python等方法去解答面试高频TOP202题目,