Java程序設(shè)計(jì)中,立方和是一項(xiàng)常見的需求。立方和的定義是把給定數(shù)列中的每個(gè)數(shù)先平方再求和,然后再把結(jié)果再平方一次。在Java中,實(shí)現(xiàn)立方和可以使用循環(huán)語句或遞歸函數(shù)。
public class CubicSum { // 循環(huán)實(shí)現(xiàn)立方和 public static int cubicSumByLoop(int[] nums) { int sum = 0; for (int num : nums) { sum += num * num * num; } return sum * sum; } // 遞歸實(shí)現(xiàn)立方和 public static int cubicSumByRecursion(int[] nums, int index) { if (index == nums.length - 1) { return nums[index] * nums[index] * nums[index]; } return nums[index] * nums[index] * nums[index] + cubicSumByRecursion(nums, index + 1); } }
以上代碼中,cubicSumByLoop方法使用for循環(huán)遍歷數(shù)列并計(jì)算立方和,cubicSumByRecursion方法使用遞歸函數(shù)實(shí)現(xiàn)相同的功能。
使用以上方法計(jì)算立方和的時(shí)間復(fù)雜度均為O(n)。這些方法還可以進(jìn)一步優(yōu)化,例如循環(huán)方法可以使用并行計(jì)算提高計(jì)算效率。