Problem:
Given an array of ints, return true if the array contains no 1's and no 3's.
lucky13({0, 2, 4}) → true
lucky13({1, 2, 3}) → false
lucky13({1, 2, 4}) → false
Solution:
public boolean lucky13(int[] nums) { boolean result = true; for (int i =0;i<nums.length ;i++) if ( nums[i] == 1 || nums[i] == 3) result = false; return result; }
public boolean lucky13(int[] nums) {
ReplyDeletefor (int i=0; i<nums.length ;i++){
if (nums[i]==1 || nums[i]==3 ) return false;
}
return true;
}
public boolean lucky13(int[] nums) {
ReplyDeletereturn !Arrays.toString(nums).contains("1") && !Arrays.toString(nums).contains("3");
}
you are hell of a genius
Deletepublic boolean lucky13(int[] nums) {
ReplyDeletefor (int i : nums){
if (i == 1 || i == 3) return false;
}
return true;
}
why can't we do
ReplyDeleteif(i!==1 && i!==3) return true;
Late response, but for everyone else. It's your "&&" operator. It will consider nums[i] to be true only if nums[i] is 1 and 3 (which is not possible)
Deletepublic boolean lucky13(int[] nums)
ReplyDelete{
HashMap map = new HashMap();
for(int i = 0; i < nums.length; i++)
{
map.put(nums[i], nums[i]);
}
return(!map.containsKey(1) && !map.containsKey(3));
}