第一次尝试用Javascript做Leetcode上的算法题,做了三个小时,终于完成了我的处女作。
简直写的要吐血了,此处有无数……….
原文题目如下:
Input: dict = [“cat”, “bat”, “rat”]
sentence = “the cattle was rattled by the battery”
Output: “the cat was rat by the bat”
解题思路如下:
dict模糊匹配sentence里的内容,按照sentence的顺序,将dict数组重排。
找出sentence里面所有单词,如果dict里不包含这个单词就把这个单词存放在一容器arr中,如果dict包含这个单词,将sentence相同位置的词替换为dict中的那个词,这就保证了输出结果符合题中要求。

代码如下:

var replaceWords = function(dict, sentence) {var result=[];var newarr={};for(var i=0;i<dict.length;i++){var j=sentence.indexOf(dict[i].toString());if(j>-1){newarr[j]=dict[i].toString();}}for(var key in newarr){result.push(newarr[key])}dict=result;  //将dict的数组重新排列var newStr=sentence.split(" ");var arr = [];var s=0;for(var i=0;i<newStr.length;i++){if(newStr[i].indexOf(dict[s])>-1){arr.push(dict[s]); //将需要替换的字符串存在在arr中s++;}else{arr.push(newStr[i]);//保留原来不变的字符串,存放在arr中}//return arr;}return arr.join(" "); //将最终结果数组转化为字符串并用空格分开}
var dict=["cat", "bat", "rat"];
var sentence="the cattle was rattled by the battery";
console.log(replaceWords(dict,sentence));

Leetcode算法题每日一练相关推荐

  1. LeetCode算法题整理(200题左右)

    目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...

  2. 经典算法题每日演练——第六题 协同推荐SlopeOne 算法

    原文:经典算法题每日演练--第六题 协同推荐SlopeOne 算法 相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,"商品推荐","猜你喜欢&quo ...

  3. LeetCode算法题-Nth Digit(Java实现)

    这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...

  4. LeetCode算法题-Reverse Linked List(Java实现)

    这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...

  5. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)

    这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...

  6. 经典算法题每日演练——第二十二题 奇偶排序

    原文:经典算法题每日演练--第二十二题 奇偶排序 这个专题因为各种原因好久没有继续下去了,MM吧...你懂的,嘿嘿,不过还得继续写下去,好长时间不写,有些东西有点生疏了, 这篇就从简单一点的一个&qu ...

  7. leetcode算法题--零钱兑换

    原题链接:https://leetcode-cn.com/problems/coin-change/ 相关题目:leetcode算法题–完全平方数★ 动态规划 dp[i] i从0到amount,dp[ ...

  8. leetcode算法题-- 买卖股票的最佳时机

    原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 这类股票题目请见leetcode算法题–最佳买卖股票时机含 ...

  9. leetcode算法题--买卖股票的最佳时机 II

    原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 这类股票题目请见leetcode算法题–最佳买卖股票 ...

最新文章

  1. 结对子作业 四则运算 V2.0
  2. 20131003国庆作业例4-4,4-5,4-6.
  3. IT部门的服务工作方式、工作内容有了彻底的改变——安徽移动通信有限责任公司...
  4. python列表框_「每日一练」Python列表框部件的运用
  5. NET问答: Find() 和 Where().FirstOrDefault() 该如何选择 ?
  6. [Cubieboard] Node.js 在 Lubuntu 上安装指南
  7. 最后2天,BDTC 2019早鸟票即将售罄,超强阵容及议题抢先曝光!
  8. PERL-MOJO写一个简单的登录验证页面
  9. PBXCp Error
  10. html英雄联盟网页,Html+Css+JQuery实现简易英雄联盟官网
  11. 《Windows 网络操作系统》集中实训任务书详解
  12. 国内外著名黑客杂志 《转》
  13. @Value的用法 @Value数据来源 @Value动态刷新的问题
  14. 内边距(padding)
  15. 导图解文 从梦想到财富(28)如何成为顶尖高手
  16. vr企业视频展示如何制作
  17. Qt 应用程序输出中文乱码+UI界面输出中文乱码
  18. Web 应用程序——我的心理备忘单
  19. 使用python爬取天气信息(包括历史天气数据)
  20. 奥塔在线:架构实践基础之一图胜千言

热门文章

  1. 华为-综合实验-模拟公司内部网络访问外网(EasyIP、RIP、OSPF)
  2. Foxmail邮件数据如何迁移
  3. 4.Redis的内存维护策略
  4. 点石互动--枫林之:Robots Meta标签及其用法
  5. 浏览器全屏和pc显示器全屏
  6. 权限管理系统 shiro + ssm实现
  7. 黑客技术论坛为什么越来越少了?
  8. 跟同事杠上了,Apache Beanutils为什么被禁止使用?
  9. The softwares are used in Flex developing
  10. deepin 安装显卡后,可支持双屏展示