一、问题理解
我们需要找出数组中所有"特殊元素"并计算它们的平方和。特殊元素是指其下标(从1开始)能被数组长度整除的元素。
二、关键点分析
三、实现详解
获取数组长度:使用nums.size()获取n值
遍历数组:从1到n循环检查每个下标
条件判断:n%i==0时即为特殊元素
平方累加:注意实际数组访问是nums[i-1]
四、实现代码
class Solution {public:
int sumOfSquares(vector<int>& nums) {
int n = nums.size(); // 获取数组长度
int sum = 0; // 初始化平方和为0
// 遍历数组,注意题目要求下标从1开始
for(int i = 1; i <= n; i++) {
// 检查当前下标是否是特殊元素
if(n % i == 0) {
// 计算平方并累加(注意数组实际下标是i-1)
sum += nums[i-1] * nums[i-1];
}
}
return sum; // 返回最终平方和
}};五、边界情况考虑
空数组:题目保证n≥1
单个元素数组:该元素一定是特殊元素
所有元素都是特殊元素:当n=1时
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
