算法设计:成语接龙,自动接龙“为所欲为”?只需进行简单的递归搜索即可!

发布于:2024-10-24 编辑:匿名 来源:网络

鏍囬鍥剧墖锛熻繖涓彲浠ュ皯涓?鐐瑰悧锛熷崥瀹細鍗氬锛屽彧鏄负浜嗗拰澶у鍒嗕韩鎴愯鎺ラ緳銆?銆婃垚璇帴榫欍?嬪ぇ瀹跺簲璇ラ兘涓嶉檶鐢熴?傛剰鎬濇槸浠庝竴涓垚璇紑濮嬶紝鏍规嵁璇ユ垚璇殑鏈?鍚庝竴涓瘝锛屾壘鍒板彟涓?涓彲浠ヨ繛鎺ョ殑鎴愯锛涚劧鍚庢牴鎹渶鍚庝竴涓瘝缁х画鏌ユ壘銆?锛屼繚鎸佽繛鎺ャ?傝繖鏈韩灏辨槸涓?涓?掑綊杩囩▼锛岃繖鏄竴涓叿鏈夋寫鎴樻?т笖鏈夎叮鐨勮瑷?娓告垙銆傚綋鐒讹紝涓嶅悓鐨勫湴鏂规湁涓嶅悓鐨勭増鏈紝涓?鑸湁涓や釜涓昏鍒嗘敮鐗堟湰锛?澶氶煶鐗堟湰锛氭垚璇箣闂寸敤澶氶煶瀛楄繛鎺ワ紱濡傦細椋庡拰閲岋紙l矛锛?>绔嬭冻鐐癸紙d矛锛?>鈥滃湴澶х墿鍗氣?濈殑绮惧瓧鐗堬紙b贸锛夛細鐢ㄧ簿瀛楄繛鎺ユ垚璇紱渚嬪锛氬厛浜嗚В鍐嶆彁闂?>鎻愰棶->杩戣韩鏍兼枟銆傝寰楀皬鏃跺?欙紝璇枃鑰佸笀璇惧墠鍠滄瀛︽垚璇紝娌″鎴愯鐨勫鐢熶細鍦ㄤ笁澶╁悗鐨勮鏂囪涓婁竴璧疯〃婕旓紱鏈夋椂鎴戞棤娉曟憜鑴盨olitaire锛屼笉寰椾笉涓婂彴琛ㄦ紨鍜屽敱姝屻?傛垜鎬绘槸鍋囧敱鍋囧敱锛堭煠玝ee~~锛夊苟鍋氫换浣曟垜鎯冲仛鐨勪簨銆?銆婄焊鐗屻?嬮噷鐨勯偅鍙モ?淒o What You Want鈥濇槸鏈?鍚庝竴娆★紝鏈夌矇涓濈獊鐒跺憡璇夋垜锛屽鏋滄垜缁欏ス浠讳綍鎴愯锛屽ス灏卞彲浠ヤ负鎵?娆蹭负銆傛垜绔嬪嵆璁╁ス瀛﹁捣涓?涓垚璇細榄旈榄旈銆傚浘鐗囦粎渚涘弬鑰冿紝鎵?浠モ?︹?︽垜鎴愬姛缁撴潫浜嗗璇濃?︹?︿笉杩囷紝鍚庢潵鎴戞墠鐭ラ亾锛岄偅鏄洜涓哄ス鍙戠幇浜嗕竴涓濂囩殑缃戠珯锛氳嚜鍔ㄦ垚璇帴榫欑‘瀹炲緢濂界帺锛涗絾鏄紝杩欒繕涓嶅鏈夎叮锛屾垜浠彲浠ュ仛寰楁洿鏈夎叮鍚楋紵渚嬪锛氭帴榫欑殑鍐呭鏄惁杈冮暱锛?Solitaire 鐨勪範璇槸涓嶆槸鏈夌偣闅忔満锛熺畻娉曡璁?鎴戜滑闇?瑕佽璁′竴绉嶇畻娉曪紝鑷姩灏?Solitaire 杞崲涓?Idiom Solitaire銆傛垜浠簲璇ュ浣曡璁″憿锛熺畻娉曠殑璁捐闈炲父绠?鍗曘?傚湪鏈夌敤璇嶆眹鐨勫墠鎻愪笅锛屼富瑕佸垎涓轰袱绫伙細骞垮害浼樺厛绠楁硶鍜岃瘝鍥剧畻娉曪紱浠ュ強閫掑綊鎼滅储涔犺銆傚叾瀹炰笂鍥炬墍绀虹殑缃戠珯浣跨敤鐨勭畻娉曞氨鏄箍搴︿紭鍏堝拰璇嶅浘鐨勭畻娉曘?傚畠鏋勫缓涓?涓唴閮ㄦ湁澶氫釜璺緞鐨勫崟璇嶅浘锛屽苟鏍规嵁缁欏畾鐨勫崟璇嶆墽琛屽懡涓?傛垜鐣欏埌涓嬩竴鏈燂紝鏈夋満浼氬憡璇夊ぇ瀹跺浣曡璁°?傝繖娆℃垜浠皢婕旂ず濡備綍閫氳繃閫掑綊鐨勬柟寮忛?愬眰鏌ユ壘鎴愯銆傝瘝鍏歌幏鍙?棣栧厛锛屾垜浠渶瑕佷竴涓瘝姹囨暟鎹簱鏉ヨ幏鍙栦範璇?傚綋鐒跺彲浠ョ敤鏁版嵁搴撴潵瀹炵幇锛屾妸鍙ゆ枃棣嗚棌鐩存帴鏀惧叆鏁版嵁搴撲腑锛岀劧鍚庣敤SQL鏉ユ煡璇€?傚綋鐒讹紝杩欏鎴戞潵璇存湁鐐瑰按灏?傛垜鏈?杩戜竴鐩村湪浣跨敤 Nuxt3锛涙殏鏃朵笉鎯崇洿鎺ュ幓Java銆傝櫧鐒朵娇鐢∟odejs锛屽啓涓?涓腑闂翠欢鎴栬?呯洿鎺ヤ娇鐢∟odejs涔熷彲浠ヤ綔涓哄悗绔潵鎿嶄綔Sqlite銆丮ySQL绛夋暟鎹簱锛屼絾鏄垜瑙夊緱浠呬粎涓轰簡涓?涓皬鍔熻兘鑰屽紩鍏ヤ竴涓暟鎹簱骞朵笉鏄緢鍒掔畻銆備负姝わ紝鎴戝湪杩欓噷鎵惧埌浜嗚繖涓簱锛?cnchar from "cnchar";import 'cnchar-idiom'const testWords = cnchar.idiom(['for', '', '', '']); // 鏌ユ壘浠モ?渃onsole.log(testWords)鈥濆紑澶寸殑鎴愯 鎵撳嵃缁撴灉: 鎵撳嵃缁撴灉 杩欐牱灏辫В鍐充簡璇嶅簱闂銆備笉杩囪瘝搴撳彲鑳芥湁鐐逛笉鍑嗙‘锛屾垨鑰呭彲鑳藉拰鍙ゆ眽璇瘝鍏镐笉涓?鏍凤紱濡傛灉鏈変弗鏍艰姹傜殑璇濓紝寤鸿杩樻槸闇?瑕丼QL銆傚樋鍢匡紝閫掑綊鎼滅储鎺ヤ笅鏉ヨ鏋勫缓涓?涓?掑綊鎼滅储鐨勭畻娉曘?傚嵆鍒╃敤鍥剧殑鏂规硶鏉ュ疄鐜板揩閫熸悳绱€?傝繖娆℃垜浠殑閫掑綊閫昏緫闈炲父绠?鍗曘?傚湪Vue涓紝鎴戜滑棣栧厛鍒ゆ柇鏄惁浠モ?滀负鈥濈粨灏俱?傚鏋滄槸鐨勮瘽锛屽氨涓嶇敤閬嶅巻鈥滀负鎵?娆蹭负鈥濅簡锛?浠g爜璇█锛歫avascript copy // 鑾峰彇鎴愯鐨勬渶鍚庝竴涓瓧锛堟垨鑰呮嫾闊?>淇濈暀锛岃繖娆′笉鐢級 const getLastWordOrSpell = (s, m) => { s = s || '' if (m === 'spell') { return cnchar.spell(s.replace(/^( .*[n])*.*(.|n)$/g, '$2')).toLowerCase () } else { return s.slice(-1); }}鈥onst keyWord = inputWord.valueconst lastWord = getLastWordOrSpell(keyWord)if (lastWord === 'WE') {generatorChainsWords.value = "銆? + inputWord.value + "銆忎綘涓嶅繀鍋氫换浣曚綘鎯冲仛鐨勪簨锛屼綘鍙互鍋氫换浣曚綘鎯冲仛鐨勪簨鈥濓紱 load.value = false;return}涔嬪悗锛屾垜浠畾涔変簡涓?涓柟娉曟潵鏌ユ壘姣忎釜鎴愯鐨勬渶鍚庝竴涓崟璇嶏紝鍙互灏嗗叾涓庢垚璇叧鑱旇捣鏉ワ細 浠g爜璇█锛歫avascript copy const getIdiomChainByRecursive = (lastWord, deep, find, outputResult, selected) => { 璁╃粨鏋?= -3; if (selected.has(lastWord)) { // 褰撳墠鍗曡瘝宸茬粡瀛樺湪 return -2; } // 鑾峰彇浠ヨ鎷奸煶寮?澶寸殑鎵?鏈夋垚璇暟缁勶紙浣跨敤鎵撲贡绠楁硶锛?const tempResArrSource = shuffleArray(cnchar.idiom([lastWord, '', '', ''])) const tempResArr = tempResArrSource.filter(item => {const lastCharacter = item.slice(-1); // 鑾峰彇鏈?鍚庝竴涓瓧绗?return !selected.has(lastCharacter); // 妫?鏌ユ渶鍚庝竴涓瓧绗︽槸鍚﹀瓨鍦ㄤ簬 Set 涓瓆); if (!tempResArr.length) { return - 1; } // 鍒ゆ柇鏈?鍚庝竴涓崟璇嶇殑鎷奸煶鏄惁涓衡?淲E鈥?const isFirstIdiomWei = getLastWordOrSpell(tempResArr[0]) === 'WE'; if (isFirstIdiomWei) { // 濡傛灉鏄紝鐩存帴灏嗙粨鏋滆缃负鈥滈殢蹇冩墍娆测??" outputResult.push(tempResArr[0]); result = outputResult.join(' -> '); } else { for (let i = 0; i < tempResArr.length; i++) { // 鏈閬嶅巻鐨勬儻鐢ㄦ硶 const currentIdiom = tempResArr[i]; // 鏈閬嶅巻鐨勬儻鐢ㄦ硶 const currentLastWordSpell = getLastWordOrSpell(currentIdiom); (lastWord) outputResult.push(currentIdiom); if (result === 0) { break; } if (currentLastWordSpell === 'WE') { // 濡傛灉鏈?鍚庝竴涓崟璇嶆槸鈥淲E鈥濓紝鍒欐壘鍒扮洰鏍囦範璇惊鐜粨鏉熴??result = outputResult.join(' -> ');t=0锛?break } // 鍚﹀垯锛岀户缁?掑綊璋冪敤 result = getIdiomChainByRecursive(currentLastWordSpell, deep++, false, outputResult, new Set(selected)); if (result === -2) { // 鏈壘鍒帮紝鎴栨繁搴﹁揪鍒版渶澶?outputResult.pop() continue } if (result && result !== -1) { break } else { // 濡傛灉鏈壘鍒扮粨鏋滐紝鍥炴函骞跺皾璇曞叾浠栦範鎯敤娉昽utputResult.pop(); } } } } 杩斿洖缁撴灉锛泒 ;娉ㄦ剰锛屾垜杩欓噷杩樹娇鐢ㄤ簡shuffle绠楁硶锛屽叾瀹炲氨鏄暟缁勭殑shuffle銆傚弬鑰冿細浠g爜璇█锛歫avascript copy // 娲楃墝绠楁硶 const shuffleArray = (array) => { for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random () * (i + 1)); [鏁扮粍[i], 鏁扮粍[j]] = [鏁扮粍[j], 鏁扮粍[i]]; } return array;}褰撶劧鏈?缁堢敓鎴愪簡涓?涓叆鍙e嚱鏁帮細 浠g爜璇█锛歫avascript copy const chainWords = getIdiomChainByRecursive(lastWord, 0, false, [keyWord], selected)if (chainWords === -1 ) {generatorChainsWords.value = "<" + inputWord.value + "<涓嶈兘涓烘墍娆蹭负"} else if (chainWords === 0) {generatorChainsWords.value = "銆? + inputWord.value + "銆忚緭浜嗭紝璇烽噸璇?"鍋氫綘鎯冲仛鐨勪簨""} else {generatorChainsWords.value = chainWords + "->鍋氫綘鎯冲仛鐨勪簨"} loading.value = false 鎵?浠ヨ嚦姝わ紝鎴戜滑鐨勯?掑綊鐢熸垚鐨勬晥鏋滃氨瀹屾垚浜嗐?傛渶鍚庢垜浠潵鐪嬬湅鏁堟灉銆傛垜杩欓噷浣跨敤Nuxt3鍜孨uxtUI鏉ユ瀯寤猴細NuxtUI鏋勫缓浜嗕竴涓叆鍙f枃浠躲?傛垜浠潵娴嬭瘯涓?涓嬶細鐢变簬璇ユ晥鏋滈噰鐢ㄤ簡娲楃墝绠楁硶锛屾墍浠ユ瘡娆$敓鎴愮殑鎴愯閮芥槸闅忔満鐨勩?傛?ц川锛氬叿鏈夐殢鏈烘?с?傚鏋滆繍姘斾笉濂斤紝灏变細鍑虹幇鏈?澶ч?掑綊娆℃暟銆傝秴杩囨渶澶ф鏁帮細 褰撶劧锛屾湁浜涘崟璇嶆敞瀹氫笉鑳界敤浜庢垚璇帴榫欙細 涓嶈兘鐢ㄤ簬鎴愯鎺ラ緳鐨勫崟璇?END 杩欐鎴愯鎺ラ緳鐨勯?掑綊鏂规硶鏉ヤ簡~瑕佹垜璇达紝杩欎釜鎴愯鎺ラ緳绋嬪簭鏄畝鐩村氨鏄〗鐨晩锛佸鏋滀綘鍛婅瘔瀹冧竴涓弗鑲冪殑鎴愯锛屽畠灏变細鏁呮剰鍥炵瓟涓?浜涜帿鍚嶅叾濡欑殑璇濓紝璁╀綘杩锋儜銆傛湁鏃跺?欙紝浣犵敋鑷充細鍥犱负閫掑綊澶繃鍒嗚?岃糠璺瘇鎴愯鎺ラ緳鍙槸涓?涓父鎴忥紝鎵?浠ヤ笉瑕佸お璁ょ湡銆傚彧瑕佷綘鐜╁緱寮?蹇冿紝鎶撲笉鍒伴緳涔熸病鍏崇郴銆備笉绠℃?庢牱锛岀敓娲诲氨鍍忚繖涓妭鐩竴鏍凤紝鍏呮弧浜嗘棤灏界殑涔愯叮銆傛垜浠负浠?涔堣杩囦簬鎵х潃浜庣粨鏋滃憿锛熺弽鎯滅編濂界殑杩囩▼鍚с?傚綋鐒讹紝濡傛灉浣犳兂鎻愰珮鏁堢巼锛岄伩鍏嶈糠璺紝涓嬫鎴戜細浠嬬粛浣跨敤鍥剧墖鐨勬柟娉晘~~涓嶉敊锛屾垜姝e湪鍙傚姞鑵捐绉戞妧鍒涢?犵壒璁惀绗簩鏈熸湁濂栧緛鏂囨瘮璧涙潵鍒嗕韩濂栭噾姹?0000鍏冿紝閿洏鎵嬭〃涓?鍧椼??

算法设计:成语接龙,自动接龙“为所欲为”?只需进行简单的递归搜索即可!

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 证监会:加强对拟上市公司投资的离职系统员工监管

    证监会:加强对拟上市公司投资的离职系统员工监管

    投资圈(ID:pedaily)4月20日消息:近日,有媒体报道中证建投系统离职员工证监会对拟上市公司的惊人投资,引起各方关注。 证监会对此高度重视,坚持防范违法违规“创富”,维护市场“三公”秩序,加强监管队伍廉洁建设。 坚持问题导向、举一反三,对在审企业进行全面排查,对

    06-17

  • 今晚,4500万人与周杰伦“时光倒流”

    今晚,4500万人与周杰伦“时光倒流”

    ,应该是一场激情的爱情约会。 但当晚19点35分,还没等两人晒出甜蜜合照,他们的朋友圈就被一个许久没有出专辑的男人入侵了。 你谈你的爱情,我看我的青春。 天晴在等待烟雨,粉丝在等待“地表最强妖天伦”。 数千人在视频号直播间回忆青春。 当34岁的周杰伦带着八块锋利的巧

    06-21

  • 为打造平价时尚服装市场,919氢仓获得青松基金等两轮合计数千万元融资,

    为打造平价时尚服装市场,919氢仓获得青松基金等两轮合计数千万元融资,

    据投资界(ID:pedaily)6月4日消息,平价时尚服装市场品牌“氢仓”宣布,先后获得青松基金天使轮和个人投资者战略轮共计数十轮投资。 融资数百万元。 据其创始人&CEO席一舟介绍,本轮融资将主要用于供应链建设、门店扩张和团队建设。 “公司将重点打造江苏、安徽、四川等地

    06-18

  • 鹤壁市长郭浩:中国5G产业创新创业大赛推动高质量发展

    鹤壁市长郭浩:中国5G产业创新创业大赛推动高质量发展

    4月2日下午,“中国5G产业创新创业大赛”作为5G产业前沿创新的重要舞台,已日益突出和影响。 吸引力持续增强,为推动高质量发展提供更多活力。 ”鹤壁市市长郭浩在中国5G产业创新创业大赛全国总决赛颁奖典礼暨鹤壁市旗滨区重点产业座谈会上表示。 “最近几年。 鹤壁积极适应新

    06-17

  • 北京理工大学与珠海学院联合成立集成电路技术现代产业学院

    北京理工大学与珠海学院联合成立集成电路技术现代产业学院

    7月4日,集成电路技术现代产业学院成立暨揭牌仪式在珠海高新区举行。 这所产业学院由北京理工大学珠海学院(信息学院)、广东中兴电子股份有限公司、珠海英思科技有限公司联合创办。 图片珠海高新区 珠海高新专区新闻显示,北理工珠海学院院长赵显礼表示,集成电路发展关系产

    06-06

  • 2024年北京车展,看这26款新车就够了

    2024年北京车展,看这26款新车就够了

    时隔4年,2024年北京车展终于又来了。 4年的时间并不算长,但对于汽车行业来说已经是一个巨大的变化。 如果说去年的上海车展让世界看到了中国新能源汽车的快速发展,那么今年的北京车展则证明了一件事情:世界新能源汽车潮流就在这次北京车展。 可以说,这种四年积累的潜力,

    06-21

  • 视联科技获凤凰卫视战略投资

    视联科技获凤凰卫视战略投资

    》据4月26日消息,视联科技近日完成新一轮战略融资。 本轮投资由凤凰卫视集团旗下凤凰创新产业基金投资,此次获得的融资将主要用于人工智能产品的落地,加快业务拓展和服务体系升级。

    06-18

  • 阿里云智能总裁张建锋:创新是丽水绿色发展之路

    阿里云智能总裁张建锋:创新是丽水绿色发展之路

    “创新是我们的第一动力,也是丽水绿色发展的路径。 ” 6月9日,阿里云智能总裁、阿里巴巴达摩院特朗张建锋在国家数字生态系统创新发展峰会上致辞时表示。 阿里云智库总裁、阿里巴巴达摩院院长张建锋总结称,自2016年丽水市政府与阿里巴巴集团签署战略协议以来,在双方共同努

    06-17

  • 小度迎新期待:百度集团CIO李莹轮流担任CEO

    小度迎新期待:百度集团CIO李莹轮流担任CEO

    10月7日最新消息,百度小度公司迎来新任CEO,百度集团副总裁、百度集团CIO李莹博士,直接向李彦宏汇报工作。 业内人士分析,这轮新一轮干部轮换对小度来说意义重大。 李莹在担任百度集团CIO期间,打造了以人工智能和知识管理为核心的智能工作平台,为百度AI基础技术和产品应

    06-17

  • 诺和诺德斥资7亿美元使用蛋白质组学药物

    诺和诺德斥资7亿美元使用蛋白质组学药物

    年底,Ventus Therapeutics宣布与诺和诺德达成全球*许可协议。 根据该协议,诺和诺德将获得Ventus专有的NOD样受体pyrin结构域相关蛋白3(NLRP3)外周抑制剂的开发和商业化权利。 诺和诺德将向Ventus预付 10,000 美元,并提供研发 (R&D) 资金。 Ventus还可能收到总计 6.33 亿美

    06-17

  • 中国南车香港上市获批, A+H股IPO拟募资20亿美元

    中国南车香港上市获批, A+H股IPO拟募资20亿美元

    据悉,中国最大的铁路机车装备制造商中国南车车辆股份有限公司首次公开发行股票(IPO)计划已经香港联交所批准。 获批后,连同在上海IPO,拟募集资金规模将达20亿美元,约1亿港元。   新闻 人士表示,总部位于北京的中国南车股份有限公司计划在香港IPO发行最多20亿股,并将于

    06-18

  • 以旧换新平台有德汇获人保远望基金近亿元B+轮融资

    以旧换新平台有德汇获人保远望基金近亿元B+轮融资

    据投资界12月29日消息,全品类以旧换新平台有德汇今日宣布完成近百笔融资获得人保财险、人保财险的B+轮融资。 人保远望基金是与启迪科技合作设立的。 据悉,本轮资金将用于拓展线下市场、升级后端渠道。   优德火此前已获得多轮融资:  获得龙腾资本天使轮投资;   再

    06-18