Java > Array-2 > no14 (CodingBat Solution)

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;

  
}

7 comments:

  1. public boolean no14(int[] nums) {
    int ones = 0;
    int fours =0;
    for(int i=0; i0 && fours>0) return false;
    return true;
    }

    ReplyDelete
    Replies
    1. public boolean no14(int[] nums) {
      int ones = 0;
      int fours =0;
      for(int i=0; i0 && fours>0) return false;
      return true;
      }

      Delete
  2. public boolean no14(int[] nums) {
    int 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;
    }

    ReplyDelete
  3. public boolean no14(int[] nums) {
    int 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;
    }
    }

    ReplyDelete
  4. Here's my solution
    public boolean no14(int[] nums) {

    int count1=0;
    int count4=0;
    for(int i=0; i=1 && count4>=1){
    return false;
    }

    ReplyDelete
  5. public boolean no14(int[] nums) {
    Set mySet = new HashSet();
    mySet.add(1);
    mySet.add(4);
    for (int val: nums)
    {
    if (mySet.contains(val))
    {
    mySet.remove(val);
    }
    }
    return mySet.size() > 0;
    }

    ReplyDelete
  6. public boolean no14(int[] nums) {
    int 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);
    }

    ReplyDelete