Task description
A string S consisting of N characters is called properly nested if:
For example, string "(()(())())" is properly nested but string "())" isn't. Write a function: that, given a string S consisting of N characters, returns 1 if string S is properly nested and 0 otherwise. For example, given S = "(()(())())", the function should return 1 and given S = "())", the function should return 0, as explained above. Assume that: Complexity:
class Solution { public int solution(String S) { // write your code in Java SE 8 // write your code in Java SE 8 char[] chrArray=S.toCharArray(); int len=chrArray.length; int closeParan=0; int openParan=0; int retV=0; int pos=0; for(int i=len-1;i>=0;i--){ if(chrArray[i]==')'){ closeParan++; pos=i; }else if(chrArray[i]=='(' && i<pos){ openParan++; } if(closeParan==openParan){ closeParan=openParan=0; } } if(closeParan==openParan) retV=1; return retV; } } 75% 75 out of 100 points
Analysis summary
The following issues have been detected: wrong answers.
For example, for the input '())(()' the solution returned a wrong answer (got 1 expected 0). |
Task description Write a function class Solution { public int solution(int[] A); } that, given a zero-indexed array A consisting of N integers, returns the number of distinct values in array A. Assume that: N is an integer within the range [ 0 .. 100,000 ]; each element of array A is an integer within the range [ −1,000,000 .. 1,000,000 ]. For example, given array A consisting of six elements such that: A[0] = 2 A[1] = 1 A[2] = 1 A[3] = 2 A[4] = 3 A[5] = 1 the function should return 3, because there are 3 distinct values appearing in array A, namely 1, 2 and 3. Complexity: expected worst-case time complexity is O(N*log(N)); expected worst-case space complexity is O(N), beyond input storage (not counting the storage required for input arguments). Elements of input arrays can be modified. class Solution { public int solution ( int [] A) { // write your code in Java SE 8 int len=A.length; int count= 1 ; ...
// you can also use imports, for example:
ReplyDeleteimport java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(String S) {
// write your code in Java SE 8
char[] ch=S.toCharArray();
if(ch.length % 2 ==1 )
return 0;
Stack op = new Stack<>();
for(char c :ch ){
if(c == '(')
{
op.push(c);
}
if(c == ')' && !op.isEmpty())
{
op.pop();
}
}
return op.isEmpty()?1:0;
}
}