Problem:
Given an array of ints, return true if it contains no 1's or it contains no 4's.
no14({1, 2, 3}) → true
no14({1, 2, 3, 4}) → false
no14({2, 3, 4}) → true
Solution:
public boolean no14(int[] nums) {
boolean found1 = false;
boolean found4 = false;
for (int i = 0; i < nums.length; i++) {
if (nums[i] == 1)
found1 = true;
if (nums[i] == 4)
found4 = true;
}
if (found1 && found4)
return false;
else
return true;
}

public boolean no14(int[] nums) {
ReplyDeleteint ones = 0;
int fours =0;
for(int i=0; i0 && fours>0) return false;
return true;
}
public boolean no14(int[] nums) {
Deleteint ones = 0;
int fours =0;
for(int i=0; i0 && fours>0) return false;
return true;
}
public boolean no14(int[] nums) {
ReplyDeleteint ones = 0;
int fours =0;
for(int i=0; i< nums.length; i++)
{
if(nums[i]==1)
{
ones++;
}if(nums[i]==4)
{
fours++;
}
}
if(ones>0 && fours>0) return false;
return true;
}
public boolean no14(int[] nums) {
ReplyDeleteint one = 0;
int four = 0;
for(int i = 0; i < nums.length; i++){
if(nums[i] == 1){
one++;
} else if(nums[i] == 4){
four++;
}
}
if(one > 0 && four > 0){
return false;
} else {
return true;
}
}
Here's my solution
ReplyDeletepublic boolean no14(int[] nums) {
int count1=0;
int count4=0;
for(int i=0; i=1 && count4>=1){
return false;
}
public boolean no14(int[] nums) {
ReplyDeleteSet mySet = new HashSet();
mySet.add(1);
mySet.add(4);
for (int val: nums)
{
if (mySet.contains(val))
{
mySet.remove(val);
}
}
return mySet.size() > 0;
}
public boolean no14(int[] nums) {
ReplyDeleteint i = 0;
boolean one = false , four = false;
while (i < nums.length && (!one || !four)) {
if (nums[i] == 1 && !one) {
one = true;
} else if (nums[i] == 4 && !four) {
four = true;
}
i++;
}
return !(one && four);
}