我的第一题:
303. Range Sum Query - Immutable
<span style="font-size:18px;">public class NumArray {
int[] nums;
public NumArray(int[] nums) {
this.nums = nums;
}
public int sumRange(int i,int j ){
if(i>j){
System.out.println("Please input a correct number!");
System.exit(1);
}
int sums = 0;
for(int k=i; k<=j; k++){
sums += nums[k];
}
return sums;
}
}
// Your NumArray object will be instantiated and called as such:
// NumArray numArray = new NumArray(nums);
// numArray.sumRange(0, 1);
// numArray.sumRange(1, 2);</span>
没使用大多数提交答案中使用的方法(忘了是什么数组了)就用了一个循环,十多行代码,运行结果是runtime:99ms,好像不是很好,还是新手,以后继续优化。
有一个小东西,我不知道构造函数里面数组作为参数传递,是不是要每个元素都遍历,就写了个小程序,发现数组变量可以直接参数传递,哎呀,笨笨哒:
public NumArray(int[] nums) {
this.nums = nums;
}
刚开始做的时候,还在想,怎么写输入呢,也没规定输入规格,提交后才发现,原来不用想太多,我们只要把写好的功能函数按照它要求传递的参数,封装好,就行啦,学会模块化编程。
欢迎留下更优解!