- 思路
- 题目要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句A?B:C,说明不能采用常规方法进行累加求和;
- 充分利用C++特性,构造对象时构造函数会自动调用的特点,让求和在构造函数中进行完成;
- 由于所有对象要针对相同的和进行更新,所以其成员定义为static。
class Sum{ public: Sum(){ _sum += _i; ++_i; } static int GetSum() { return _sum; } private: static int _i; static int _sum; }; int Sum::_i = 1; int Sum::_sum = 0; class Solution{ public: int Sum_Solution(int n){ Sum arr[n]; return Sum::GetSum(); } };
本文介绍了一种利用C++构造函数特性实现无条件语句求和的方法,通过定义静态成员变量,使得每次对象构造时自动累加,最终通过静态方法返回总和,巧妙规避了传统循环和条件判断。
。&spm=1001.2101.3001.5002&articleId=105927530&d=1&t=3&u=547bd697f5eb455da8ea8cba9e6ad493)
197

被折叠的 条评论
为什么被折叠?



