这是本人第一次写博客,万事开头难,所以用一个较为简单的算法开始,抛砖引玉。如有不正确,请多多指正,欢迎交流。
问题描述:给定一个数组,把数组中的每个元素替换为与第一个元素相除的结果。
废话不多说,直接上代码。
public void demo(int[] arrays){
if (arrays[0]==0){
return;
}
for (int i=arrays.length-1;i>=0;i--){
arrays[i]=arrays[i]/arrays[0];
}
}
分析:这是我曾经遇到的一个面试题,如果循环是从0开始,那么第一个元素在第一次就被修改为1了,后面都除以1了。
这里有两个坑需要注意。
- 注意不要从头遍历
- 注意除0检查