JS常见实用算法,不断更新中,欢迎大家提意见
来源:互联网 发布:滚动屏编辑软件 编辑:程序博客网 时间:2024/05/16 18:15
我叫Altaba,欢迎访问我的博客 时间:2017年1月13
Q1**判断一个单词或者数字是否是回文**
很多人拿到这样的题目非常容易想到用for 将字符串颠倒字母顺序然后匹配就行了。其实重要的考察的就是对于reverse的实现。其实我们可以利用现成的函数,将字符串转换成数组,这个思路很重要,我们可以拥有更多的自由度去进行字符串的一些操作。
/*split(“”)分割字符串,返回一个由字符串每个字符组成的数组 *
reverse()数组方法,颠倒数组中元素的循序,返回颠倒后的数组
*join("")数组方法,将数组元素拼接成字符串返回,拼接方式按()中传入的字符串拼接 */
function Q1(str){
return str.split("").reverse().join("");
}
Q2**去掉一组整型数组重复的值** //对象["属性名"]==对象.属性名
function Q2(arr){
for(var i= 0,ob={},tep=[],count= 0,le=arr.length;i<le;i++){
if(ob[arr[i]]){
count++;//可以省略,用途不大
}else{
ob[arr[i]]=1;
tep.push(arr[i]);
}
}
arr=tep; return arr;
}
Q3找出一个字符串出现最多的字符,并统计个数
function Q3(str){
for(var i= 0,ob={},tem= "",le=str.length;i<le;i++){
if(!ob[str[i]]){
ob[str[i]]=0;
}
ob[str[i]]++;
if(tem==""||ob[str[i]]>ob[tem]){
tem=str[i];
} }
console.log("出现次数最多的字符是:"+tem);
console.log("出现的次数:"+ob[tem]);
}
Q4**排序算法冒泡排序法,选择排序法,快速排序法**
function Q4(arr){ for(var i=0;i<arr.length-1;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
var pp=arr[i];
arr[i]=arr[j];
arr[j]=pp;
}
}
}
return arr;
}
**选择排序法**
function Q44(arr){
for(var i= 0,tmp= 0,min= 0,n= 0,le=arr.length;i<le-1;i++){
n=i;
min=arr[i];
for(var j=i+1;j<le;j++){
if(min>arr[j]){
min=arr[j]; n=j;
}
}
tmp=arr[i];
arr[i]=min;
arr[n]=tmp;
}
return arr;
}
//快速排序法 ......
Q5**不借助临时变量,进行两个整数的交换**
function Q5(a,b){
b=b-a;
a=b+a;
b=a-b;
return[a,b];
}
Q6**找出下列正数组的最大差值**//使用math.max和math.min方法,遍历一遍数组就可以了
function Q6(arr){
var min= arr[0],xxx=0;
for(var i=0;i<arr.length;i++){
var current=arr[i];
min=Math.min(min,current);
var currentxxx=current-min;
xxx=Math.max(xxx,currentxxx);
}
return xxx;
}
String.prototype.htmlEncode = String.prototype.htmlEncode || function(){
var s = "";
if (!this) return s;
if (this.length == 0) return "";
s = this.replace(/&/g, "&");
s = s.replace(/</g, "<");
s = s.replace(/>/g, ">");
s = s.replace(/ /g, " ");
s = s.replace(/\'/g, "'");
s = s.replace(/\"/g, """);
return s;
};
- JS常见实用算法,不断更新中,欢迎大家提意见
- 欢迎大家提意见
- 新写了一个DLL注入工具,欢迎大家提意见
- 语音日历提醒app内测,大家来捧个场,欢迎提意见
- Observer模式(不断更新,请提意见)
- 大量学习资料(不断更新中……)欢迎大家索取
- Linux实用命令(不断更新中......)
- FFmpeg 实用命令(不断更新中...)
- 【自然框架】——思路、结构、特点的介绍(初稿,欢迎大家多提意见)
- 我的新网站www.kisshc.com欢迎大家访问提意见
- 常用js, 不断更新中...
- JS中常见的算法
- 今天你犯错了吗?(java web tomcat ssh篇)(不断更新中,欢迎大家参与更新)
- 小小触摸插件分享-开发中,有问题请见谅,欢迎提意见!
- JS中常见的一些排序算法
- js中常见的排序算法
- JAVA常见错误列表:(不断更新中)
- oracle常见操作汇总(不断更新中....)
- spark core 2.0 MemoryPool 源代码分析
- 10. Regular Expression Matching
- 使用DataGridTemplateColumn和Rectangle制作颜色选择器Color
- 算法概论 - 8.15
- tar命令(LINUX中常用命令)
- JS常见实用算法,不断更新中,欢迎大家提意见
- 深度学习数据集
- Android Studio 中使用 PullToRefresh 框架
- (0019)iOS 开发之关于__weak修饰NSString以及内存管理的问题
- 用sklearn和tensorflow做boston房价的回归计算的比较(1)--经典的sklearn集成模型
- 寒假计划
- 大数据究竟是什么?一篇文章让你认识并读懂大数据
- 一个很棒的caffe框架系列的基础学习博客(网址)
- iOS身份证号码识别