对任意长度字符串,删除其中的任意的N(N=0)个字符

 2023-09-18 阅读 22 评论 0

摘要:搜狗2018校招 题目描述: 搜狗汪仔机器人在参加一站到底节目录制时,被问到一个问题:“对任意长度字符串,删除其中的任意的N(N>=0)个字符,能形成多少种不同的子字符串呢?”请使用Javascript编码扩展String的del

搜狗2018校招

题目描述:


搜狗汪仔机器人在参加一站到底节目录制时,被问到一个问题:“对任意长度字符串,删除其中的任意的N(N>=0)个字符,能形成多少种不同的子字符串呢?”请使用Javascript编码扩展String的delete方法帮助汪仔解决这个问题。

测试用例:
function test(){
    return 'sogou'.delete(0)===1;

}


JS代码:

对于顺序存储的长度为N,

/*** Created by CC on 2017/10/10.*/String.prototype.delete=function(n){var result=[];var arr=this.split("");if(n>=this.length)return 1;else{var sublength=arr.length-n;getsub(arr);console.log(result);return result.length;}function getsub(arr){if(sublength<arr.length){for(var i=0;i<arr.length;i++){var newarr=arr.concat();newarr.splice(i,1);getsub(newarr);}}else{if(result.indexOf(arr.join(""))==-1)result.push(arr.join(""));}}}//测试
var str='aaacde';
console.log('删除0个字符');
console.log('子字符串数:'+str.delete(0));   //1
console.log('删除1个字符');
console.log('子字符串数:'+str.delete(1));    //4
console.log('删除2个字符');
console.log('子字符串数:'+str.delete(2));    //7
console.log('删除3个字符');
console.log('子字符串数:'+str.delete(3));    //8

题目描述:

HTML+CSS+JavaScript实现以下功能:当用户点击页面里所有a标签时,如果其链接里包含数字,则点击该链接时提示用户“改链接存在风险,是否继续点击?”用户只有点击确认才打开该链接。

代码:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div><!--测试链接--><a href="https://www.baidu.com">链接1</a><a href="http://www.jb51.net/article/35535.htm">链接2</a>
</div>
<script type="text/javascript">var arr=document.getElementsByTagName('a');var reg=/\d/;for(var i=0;i<arr.length;i++){if(reg.test(arr[i].href)) {arr[i].οnclick=function(){if(confirm('该链接存在风险,是否继续点击!'))return true;elsereturn false;}}}
</script>
</body>
</html>





版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/74462.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息