到秣陵,来见孙权,先通了姓名。权召籍入。籍见权礼毕,权问曰:“汝到此何为?”籍曰:“昨承诸葛子瑜取长沙等三郡,为军师不在,有失交割,今传书送还。所有荆州南郡、零陵,本欲送还;被曹操袭取东川,使关将军无容身之地。今合淝空虚,望君侯起兵攻之,使曹操撤兵回南。吾主若取了东川,即还荆州全土。”权曰:“汝且归馆舍,容吾商议。”伊籍退出,权问计于众谋士。张昭曰:“此是刘备恐曹操取西川,故为此谋。虽然如此,可因操在汉中。乘势取合淝,亦是上计。”权从之,发付伊籍回蜀去讫,便议起兵攻操:令鲁肃收取长沙、江夏、桂阳三郡,屯兵于陆口,取吕蒙、甘宁回;又去余杭取凌统回。不一日,吕蒙、甘宁先到。蒙献策曰:“现今曹操令庐江太守朱光,屯兵于皖城,大开稻田,纳谷于合淝,以充军实。今可先取皖城,然后攻合淝。”权曰:“此计甚合吾意。”遂教吕蒙、甘宁为先锋,蒋钦、潘璋为合后,权自引周泰、陈武、董袭、徐盛为中军。时程普、黄盖、韩当在各处镇守,都未随征。却说军马渡江,取和州,径到皖城。皖城太守朱光,使人往合淝求救;一面固守城池,坚壁不出。权自到城下看时,城上箭如雨发,射中孙权麾盖。权回寨,问众将曰:“如何取得皖城?”董袭曰:“可差军士筑起土山攻之。”徐盛曰:“可竖云梯,造虹桥,下观城中而攻之。”吕蒙曰:“此法皆费日月而成,合淝救军一至,不可图矣。今我军初到,士气方锐,正可乘此锐气,奋力攻击。来日平明进兵,午未时便当破城。”权从之。次日五更饭毕,三军大进。城上矢石齐下。甘宁手执铁链,冒矢石而上。朱光令弓弩手齐射,甘宁拨开箭林,一链打倒朱光。吕蒙亲自擂鼓。士卒皆一拥而上,乱刀砍死朱光。余众多降,得了皖城,方才辰时。张辽引军至半路,哨马回报皖城已失。辽即回兵归合淝。

到秣陵,来见孙权,先通了姓名。权召籍入。籍见权礼毕,权问曰:“汝到此何为?”籍曰:“昨承诸葛子瑜取长沙等三郡,为军师不在,有失交割,今传书送还。所有荆州南郡、零陵,本欲送还;被曹操袭取东川,使关将军无容身之地。今合淝空虚,望君侯起兵攻之,使曹操撤兵回南。吾主若取了东川,即还荆州全土。”权曰:“汝且归馆舍,容吾商议。”伊籍退出,权问计于众谋士。张昭曰:“此是刘备恐曹操取西川,故为此谋。虽然如此,可因操在汉中。乘势取合淝,亦是上计。”权从之,发付伊籍回蜀去讫,便议起兵攻操:令鲁肃收取长沙、江夏、桂阳三郡,屯兵于陆口,取吕蒙、甘宁回;又去余杭取凌统回。不一日,吕蒙、甘宁先到。蒙献策曰:“现今曹操令庐江太守朱光,屯兵于皖城,大开稻田,纳谷于合淝,以充军实。今可先取皖城,然后攻合淝。”权曰:“此计甚合吾意。”遂教吕蒙、甘宁为先锋,蒋钦、潘璋为合后,权自引周泰、陈武、董袭、徐盛为中军。时程普、黄盖、韩当在各处镇守,都未随征。却说军马渡江,取和州,径到皖城。皖城太守朱光,使人往合淝求救;一面固守城池,坚壁不出。权自到城下看时,城上箭如雨发,射中孙权麾盖。权回寨,问众将曰:“如何取得皖城?”董袭曰:“可差军士筑起土山攻之。”徐盛曰:“可竖云梯,造虹桥,下观城中而攻之。”吕蒙曰:“此法皆费日月而成,合淝救军一至,不可图矣。今我军初到,士气方锐,正可乘此锐气,奋力攻击。来日平明进兵,午未时便当破城。”权从之。次日五更饭毕,三军大进。城上矢石齐下。甘宁手执铁链,冒矢石而上。朱光令弓弩手齐射,甘宁拨开箭林,一链打倒朱光。吕蒙亲自擂鼓。士卒皆一拥而上,乱刀砍死朱光。余众多降,得了皖城,方才辰时。张辽引军至半路,哨马回报皖城已失。辽即回兵归合淝。

以下是对这首诗的逐句释义:

  1. 到秣陵,来见孙权,先通了姓名。(抵达秣陵)
  2. 权召籍入。籍见权礼毕,权问曰:“汝到此何为?”(孙权召集张辽入内)
  3. 籍曰:“昨承诸葛子瑜取长沙等三郡,为军师不在,有失交割,今传书送还。所有荆州南郡、零陵,本欲送还;被曹操袭取东川,使关将军无容身之地。今合淝空虚,望君侯起兵攻之,使曹操撤兵回南。吾主若取了东川,即还荆州全土。”(张辽陈述自己的主张)
  4. 权曰:“汝且归馆舍,容吾商议。”伊籍退出,权问计于众谋士。(孙权让张辽先回去,然后咨询其他将领)
  5. 张昭曰:“此是刘备恐曹操取西川,故为此谋。虽然如此,可因操在汉中。乘势取合淝,亦是上计。”(张昭提出建议)
  6. 权从之,发付伊籍回蜀去讫,便议起兵攻操:令鲁肃收取长沙、江夏、桂阳三郡,屯兵于陆口,取吕蒙、甘宁回;又去余杭取凌统回。(孙权决定采纳张辽的建议并采取行动)
  7. 不一日,吕蒙、甘宁先到。(吕蒙和甘宁提前到达)
  8. 蒙献策曰:“现今曹操令庐江太守朱光,屯兵于皖城,大开稻田,纳谷于合淝,以充军实。今可先取皖城,然后攻合淝。”(吕蒙提出具体策略)
  9. 权曰:“此计甚合吾意。”遂教吕蒙、甘宁为先锋,蒋钦、潘璋为合后,权自引周泰、陈武、董袭、徐盛为中军。(孙权决定实施该计划)
  10. 时程普、黄盖、韩当在各处镇守,都未随征;(此时程普、黄盖、韩当都在各地守卫)
  11. 却说军马渡江,取和州,径到皖城。(军队渡过长江进攻和州)
  12. 皖城太守朱光,使人往合淝求救;一面固守城池,坚壁不出。(朱光在皖城坚守待援)
  13. 权自到城下看时,城上箭如雨发,射中孙权麾盖。(孙权亲自登上城墙查看敌情)
  14. 权回寨,问众将曰:“如何取得皖城?”(询问将领们如何攻占城池)
  15. 董袭曰:“可差军士筑起土山攻之。”徐盛曰:“可竖云梯,造虹桥,下观城中而攻之。”(将领们提出了不同的战术)
  16. 吕蒙曰:“此法皆费日月而成,合淝救军一至,不可图矣。今我军初到,士气方锐,正可乘此锐气,奋力攻击。来日平明进兵,午未时便当破城。”(吕蒙认为应该趁敌人立足未稳时迅速出击)

问题描述:

给定一个字符串数组, 包含多个字符串元素,    
每个字符串的元素都是小写字母。    
要求实现一个函数, 返回一个列表(lst) 其中每个元素都是字符串中的一个单词,    
单词之间用空格分隔, 如果两个相邻单词之间没有空格, 则在它们之间插入一个空格, 如果两个单词间有多个空格,则只保留一个空格。    
    
例如:    
输入字符串数组:["hello world", "world is good", "good people"]    
输出结果:["hello world", "world is good", "good people"]    
    
```javascript    
function extractWords(arr) {    
let res = [];    
for (let i=0;i<arr.length;i++){    
const words = arr[i].split(" ");    
for (let j=0;j<words[0].length;j++){    
if (words[0][j]==" "){    
res.push(words[0]);    
}    
else if (words[1][j]==" "){    
res.push(words[1]);    
}    
else {    
res.push(words[j]);    
}    
}    
return res;    
}    

上述代码存在以下问题:

  1. 当处理字符串数组中的第二个元素时, 由于if语句的存在, else if语句会被跳过。
  2. 对于空字符串或者只有一个空格的句子, 返回的结果可能与预期不符合。
  3. 代码效率不高, 因为它使用了多次遍历数组和字符串的方法, 而且没有使用任何优化技术。

针对以上问题, 我们可以改进这个函数来提高其效率和准确性。

改进后的函数如下:
”`javascript
function extractWords(arr) {
let res = [];
for (let i=0;i const words = arr[i].split(” “);
for (let j=0;j if (words[0][j]==” “) continue;
if (j==0 || words[1][j]==”/” || words[2][j]==“/”) continue

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。