Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // put your javascript (node.js) code here
- var HammingDistance = (text, pattern) => {
- var k = pattern.length;
- var dists = [];
- for (var i = 0; i <= text.length - k; i++) {
- var dist = 0;
- for (var j = 0; j < k; j++) {
- dist += text.charAt(i + j) != pattern.charAt(j);
- }
- dists.push(dist);
- }
- return dists.reduce((a, b) => Math.min(a, b));
- };
- var ApproximatePatternCount = (text, pattern, d) => {
- var k = pattern.length;
- var count = 0;
- for (var i = 0; i <= text.length - k; i++) {
- if (HammingDistance(text.slice(i, i + k), pattern) <= d) {
- count++;
- }
- }
- return count;
- };
- (() => {
- var args = [];
- process.stdin.on("data", (data) => {
- args = args.concat(data.toString().trim().split(/[\s]+/));
- });
- process.stdin.on("end", function () {
- // TODO
- var text = args.shift();
- var pattern = args.shift();
- console.log(ApproximatePatternCount(text, pattern, 0));
- });
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement