Problem:
For each multiple of 10 in the given array, change all the values following it to be that multiple of 10, until encountering another multiple of 10. So {2, 10, 3, 4, 20, 5} yields {2, 10, 10, 10, 20, 20}.
tenRun({2, 10, 3, 4, 20, 5}) → {2, 10, 10, 10, 20, 20}
tenRun({10, 1, 20, 2}) → {10, 10, 20, 20}
tenRun({10, 1, 9, 20}) → {10, 10, 10, 20}
Solution:
public int[] tenRun(int[] nums) { boolean ten = false; int tmp = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] % 10 == 0) { tmp = nums[i]; ten = true; } else if (nums[i] % 10 != 0 && ten) { nums[i] = tmp; } } return nums; }
public int[] tenRun(int[] nums) {
ReplyDeleteint temp = 0;
for (int i=0; i<nums.length-1; i++)
{
if (nums[i]%10==0 && nums[i+1]%10!=0) nums[i+1] = nums[i];
}
return nums;
}
public int[] tenRun(int[] nums) {
ReplyDeleteint val = 1;
boolean wasTen = false;
for(int i = 0; i < nums.length; i++) {
if(nums[i] % 10 == 0 && nums[i] != val) {
val = nums[i];
wasTen = true;
}
if(wasTen) nums[i] = val;
}
return nums;
}
public int[] tenRun(int[] nums) {
ReplyDeletefor (int i=0; i<nums.length-1; i++) {
if (nums[i]%10==0 && nums[i+1]%10!=0) {
nums[i+1] = nums[i];
}
}
return nums;
}
public int[] tenRun(int[] nums) {
ReplyDeletefor (int i=0; i<nums.length-1; i++) {
if (nums[i]%10==0 && nums[i+1]%10!=0) {
nums[i+1] = nums[i];
}
}
return nums;
}
public int[] tenRun(int[] nums) {
ReplyDeletefor(int i=0 ; i<nums.length-1 ;i++){
if(nums[i]%10==0){
int temp = nums[i];
while(i<nums.length-1 && nums[i+1]%10!=0){
nums[i+1]=temp;
i++;
}
}
}
return nums;
}