new files
This commit is contained in:
parent
3af7344581
commit
86c034bb8b
1364 changed files with 21352 additions and 0 deletions
43
Task/Balanced-brackets/JavaScript/balanced-brackets-1.js
Normal file
43
Task/Balanced-brackets/JavaScript/balanced-brackets-1.js
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
function createRandomBracketSequence(maxlen)
|
||||
{
|
||||
var chars = { '0' : '[' , '1' : ']' };
|
||||
function getRandomInteger(to)
|
||||
{
|
||||
return Math.floor(Math.random() * (to+1));
|
||||
}
|
||||
var n = getRandomInteger(maxlen);
|
||||
var result = [];
|
||||
for(var i = 0; i < n; i++)
|
||||
{
|
||||
result.push(chars[getRandomInteger(1)]);
|
||||
}
|
||||
return result.join("");
|
||||
}
|
||||
|
||||
function bracketsAreBalanced(s)
|
||||
{
|
||||
var open = (arguments.length > 1) ? arguments[1] : '[';
|
||||
var close = (arguments.length > 2) ? arguments[2] : ']';
|
||||
var c = 0;
|
||||
for(var i = 0; i < s.length; i++)
|
||||
{
|
||||
var ch = s.charAt(i);
|
||||
if ( ch == open )
|
||||
{
|
||||
c++;
|
||||
}
|
||||
else if ( ch == close )
|
||||
{
|
||||
c--;
|
||||
if ( c < 0 ) return false;
|
||||
}
|
||||
}
|
||||
return c == 0;
|
||||
}
|
||||
|
||||
var c = 0;
|
||||
while ( c < 5 ) {
|
||||
var seq = createRandomBracketSequence(8);
|
||||
alert(seq + ':\t' + bracketsAreBalanced(seq));
|
||||
c++;
|
||||
}
|
||||
29
Task/Balanced-brackets/JavaScript/balanced-brackets-2.js
Normal file
29
Task/Balanced-brackets/JavaScript/balanced-brackets-2.js
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
function checkBalance(i) {
|
||||
while (i.length % 2 == 0) {
|
||||
j = i.replace('{}','');
|
||||
if (j == i)
|
||||
break;
|
||||
i = j;
|
||||
}
|
||||
return (i?false:true);
|
||||
}
|
||||
|
||||
var g = 10;
|
||||
while (g--) {
|
||||
var N = 10 - Math.floor(g/2), n=N, o='';
|
||||
while (n || N) {
|
||||
if (N == 0 || n == 0) {
|
||||
o+=Array(++N).join('}') + Array(++n).join('{');
|
||||
break;
|
||||
}
|
||||
if (Math.round(Math.random()) == 1) {
|
||||
o+='}';
|
||||
N--;
|
||||
}
|
||||
else {
|
||||
o+='{';
|
||||
n--;
|
||||
}
|
||||
}
|
||||
alert(o+": "+checkBalance(o));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue