This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

Hi,

I am working on below challenge

http://codingbat.com/prob/p110222

Psedo code description of approach :

1. loop through array

2.check every adjacent values has given val

3. if yes return true

4. if no return false

I am not passing all tests

How to improve my design, approach, code? please advise

I am working on below challenge

http://codingbat.com/prob/p110222

Psedo code description of approach :

1. loop through array

2.check every adjacent values has given val

3. if yes return true

4. if no return false

I am not passing all tests

Expected Run

isEverywhere([1, 2, 1, 3], 1) → true true OK

isEverywhere([1, 2, 1, 3], 2) → false true X

isEverywhere([1, 2, 1, 3, 4], 1) → false true X

isEverywhere([2, 1, 2, 1], 1) → true true OK

isEverywhere([2, 1, 2, 1], 2) → true true OK

isEverywhere([2, 1, 2, 3, 1], 2) → false true X

isEverywhere([3, 1], 3) → true true OK

isEverywhere([3, 1], 2) → false false OK

isEverywhere([3], 1) → true false X

isEverywhere([], 1) → true false X

isEverywhere([1, 2, 1, 2, 3, 2, 5], 2) → true true OK

isEverywhere([1, 2, 1, 1, 1, 2], 2) → false true X

isEverywhere([2, 1, 2, 1, 1, 2], 2) → false true X

isEverywhere([2, 1, 2, 2, 2, 1, 1, 2], 2) → false true X

isEverywhere([2, 1, 2, 2, 2, 1, 2, 1], 2) → true true OK

isEverywhere([2, 1, 2, 1, 2], 2) → true true OK

other tests

X

How to improve my design, approach, code? please advise

```
public boolean isEverywhere(int[] nums, int val) {
boolean result = false;
for (int i = 0; i <=nums.length-2;i++)
{
if ( nums[i] == val && nums[i+1] == val)
result = true;
}
return result;
}
```

is my code is correct? any modifications i can do to this. I am having hard time with edge cases? any tips to be 100% right on edge cases all the time?

Their tests are wrong. e.g.

How so? That array has two 1's next to each other, so it should fail.

is my code is correct?

Looks like you're checking to see if

We'll say that a value is "everywhere" in an array if for every pair of adjacent elements in the array, at least one of the pair is that value. Return true if the given value is everywhere in the array.

isEverywhere([1, 2, 1, 3], 1) → true

isEverywhere([1, 2, 1, 3], 2) → false

isEverywhere([1, 2, 1, 3, 4], 1) → false

Is that what you want?

that is what i understood from above challenge. i could be wrong?

How so? That array has two 1's next to each other, so it should fail.Ah - i think i was misinterpreting the question. I thought they meant distinct pairs with no overlaps

Amusingly the problem is much easier when you don't take the path i did ;)

Will it return true if you pass it [1, 1]? How about [1, 2]?

i have not get this. method needs two arguments right? what is second argument?

isEverywhere([1, 1],1) is true

How about isEverywhere([1, 2], 1) is false

How about isEverywhere([1, 2], 2) also false?

isEverywhere([3, 1], 3) → true

What will your if statement do in this situation?

(This is what I mean, by the way, when I suggest that you break down the problem into small pieces. This is a test you're failing; focus on understanding why.)

isEverywhere([3, 1], 3) → true

What will your if statement do in this situation?

(This is what I mean, by the way, when I suggest that you break down the problem into small pieces. This is a test you're failing; focus on understanding why.)

i stretching further in my thinking in terms of logic around this

```
public boolean isEverywhere(int[] nums, int val) {
boolean result = false;
for (int i = 0; i <=nums.length-2;i++)
{
if ( nums[i] == val || nums[i+1] == val)
result = true;
}
return result;
}
```

above fails below when i replace || with &&

Correct for more than half the tests

Your progress graph for this problem

i am confused mainly in 2 things

1. edge cases

2. usage of || and && since some experts used && for OR description of challenge and vice versa. How to know what to use?

```
public boolean isEverywhere(int[] nums, int val) {
boolean result = true;
for (int i = 0; i <=nums.length-2;i++)
{
if ( nums[i] != val || nums[i+1] != val)
result = false;
}
return result;
}
//"Return true if, for every pair, condition X is true." is logically
//equivalent to "Return false if, for any pair, condition X is false."
```

above corollary approach failing below tests

Expected Run

isEverywhere([1, 2, 1, 3], 1) → true false X

isEverywhere([1, 2, 1, 3], 2) → false false OK

isEverywhere([1, 2, 1, 3, 4], 1) → false false OK

isEverywhere([2, 1, 2, 1], 1) → true false X

isEverywhere([2, 1, 2, 1], 2) → true false X

isEverywhere([2, 1, 2, 3, 1], 2) → false false OK

isEverywhere([3, 1], 3) → true false X

isEverywhere([3, 1], 2) → false false OK

isEverywhere([3], 1) → true true OK

isEverywhere([], 1) → true true OK

isEverywhere([1, 2, 1, 2, 3, 2, 5], 2) → true false X

isEverywhere([1, 2, 1, 1, 1, 2], 2) → false false OK

isEverywhere([2, 1, 2, 1, 1, 2], 2) → false false OK

isEverywhere([2, 1, 2, 2, 2, 1, 1, 2], 2) → false false OK

isEverywhere([2, 1, 2, 2, 2, 1, 2, 1], 2) → true false X

isEverywhere([2, 1, 2, 1, 2], 2) → true false X

other tests

X

isEverywhere([3, 1], 3) → true

```
public boolean isEverywhere(int[] nums, int val) {
boolean result = false;
for (int i = 0; i <=nums.length-2;i++)
{
if ( nums[i] == val || nums[i+1] == val)
result = true;
i=i+1;
}
return result;
}
//"Return true if, for every pair, condition X is true." is logically
//equivalent to "Return false if, for any pair, condition X is false."
```

i fixded above test by taking 100% sure approach which is if 3 is there in {3,1} then it is true 100% of the time irrespective of following pair of elements

if no target value in {3.1} we cannot say 100% as false since following pair of values may have target value so that is bad approach in this case(which happened to be my original approach)

isEverywhere([1,, 1, 3],22) → false true X

i was not clear why above is expected false.

i thought it should be true as target int 2 is present in first pair

similarly i though below should be true

isEverywhere(

isEverywhere([1, 2, 1, 3], 2) → false

isEverywhere([1, 2, 1, 3, 4], 1) → false

i thought above 2 also true as per below explanation of challenge

We'll say that a value is "everywhere" in an array if for every pair of adjacent elements in the array, at least one of the pair is that value. Return true if the given value is everywhere in the array.

corollary or back ward reverse approach works.

psuedocode description of loic is

1. iterate each element

2. check first element and second elemt as not equal to target element then return isEverywhere false 100% sure case

3. else return true case.

```
public boolean isEverywhere(int[] nums, int val) {
boolean result = true;
for (int i = 0; i <=nums.length-2;i++)
{
if ( nums[i] != val && nums[i+1] != val)
result = false;
}
return result;
}
```

above pass all tests

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.

"We'll say that a value is "everywhere" in an array if for every pair of adjacent elements in the array, at least one of the

pairis that value. Return true if the given value is everywhere in the array."It should actually be "We'll say that a value is "everywhere" in an array if for every pair of adjacent elements in the array, at least one of the

elementshas that value. Return true if the given value is everywhere in the array."I have underlined the pair that causes the condition to fail.

isEverywhere([1, 2,

1, 3], 2) → falseisEverywhere([1, 2, 1,

3, 4], 1) → falseisEverywhere([1, 2,

1, 3], 2) → falseisEverywhere([1, 2, 1,

3, 4], 1) → false