Advertisement
Guest User

Untitled

a guest
Jun 27th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. // put your javascript (node.js) code here
  2. var HammingDistance = (text, pattern) => {
  3. var k = pattern.length;
  4. var dists = [];
  5. for (var i = 0; i <= text.length - k; i++) {
  6. var dist = 0;
  7. for (var j = 0; j < k; j++) {
  8. dist += text.charAt(i + j) != pattern.charAt(j);
  9. }
  10. dists.push(dist);
  11. }
  12. return dists.reduce((a, b) => Math.min(a, b));
  13. };
  14. var ApproximatePatternCount = (text, pattern, d) => {
  15. var k = pattern.length;
  16. var count = 0;
  17. for (var i = 0; i <= text.length - k; i++) {
  18. if (HammingDistance(text.slice(i, i + k), pattern) <= d) {
  19. count++;
  20. }
  21. }
  22. return count;
  23. };
  24. (() => {
  25. var args = [];
  26. process.stdin.on("data", (data) => {
  27. args = args.concat(data.toString().trim().split(/[\s]+/));
  28. });
  29. process.stdin.on("end", function () {
  30. // TODO
  31. var text = args.shift();
  32. var pattern = args.shift();
  33. console.log(ApproximatePatternCount(text, pattern, 0));
  34. });
  35. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement