1.约瑟夫环实现
 //附有调试
function joseph(n,p){
var arr=[];
for(var i=0;i<n;i++){
arr.push(i);
}
debugger;
var flag=0;
var outnum=0;
while(arr.length>1){
//定义到里面 下次外层循环,数组长度已改变,定义到外面的话会死循环,浏览器卡死
var len=arr.length;
for(var i=0;i<len;i++){
flag++;
if(flag==p){
flag=0;
//自行脑补
arr.splice(i-outnum,1);
outnum++;
}
}
}
return arr[0];
}
//IE8以下不支持console.log()
if(window.console){
console.log(joseph(20,3));
}
else{
window.console={
log:function(){},
happentime:function(){}
//对象字面量方式自行构建
}
}

2.斐波那契数列实现

  1 类似数列:1,1,2,3,5,8,13,21。。。。。
2
3 function ftbn(n){
4 if(n=1||n=2){
5 return 1;
6 }
7 else
8 {
9 return ftbn(n-1)+ftbn(n-2);
10 }
11 }

3.编写insertAfter

  function insertAfter(newElement,targetElement){

                var parent=targetElement.parentNode;

                if(parent.lastChild==targetElement){

                  targetElement.appendChild(newElement);

 }

 else{

        parent.insertBefore(newElement,targetElement.nextSibling);

 }

 }

4.数组去重

 var ss=[1,2,3,3,44,55,55,77,2,3,1];
function decode2(){
var arry={};
var index=0;
var ss2=[];
var len=ss.length;
for(var i=0;i<len;i++){
if(arry[ss[i]]==undefined){ arry[ss[i]]=1;
ss2[index++]=ss[i];
}
else if(arry[ss[i]==1]){continue;}
}
return ss2
}
decode2();

5.实现一个函数,判断一个字符串内出现最多次的字符,并统计这个字符

 var  s="helloworld";
function countStr(str){
var len=str.length;
var obj={};
for(var i=0;i<len;i++){
var k=str.charAt(i);
if(obj[k]){
obj[k]++;
}
else
{
obj[k]=1;
}
}
var m=0,i=null;
for(var b in obj){
if(obj[b]>m){
m=obj[b];
i=b;
}
}
return i+":"+m;
} countStr(s);

js一些算法实现的更多相关文章

  1. js的 算法 和 数据结构

    js的 算法 1.对一个对象数组按照对象某个属性进行排序  : https://www.cnblogs.com/webcabana/p/7460038.html 在做公交的项目中就碰到过这种算法问题, ...

  2. 总结下js排序算法和乱序算法

    其实本人最怕的就是算法,大学算法课就感觉老师在讲天书,而且对于前端来说,算法在实际的应用中实在是很有限.毕竟算法要依靠大量的数据为基础才能发挥出算法的效率,就浏览器那性能,......是吧,退一万步说 ...

  3. Round() 四舍五入 js银行家算法(转)

    首先问一下round(0.825,2) 返回的结果,大家猜一猜, 首先SQL server 返回的是 0.83 js的返回结果 是0.83,code 如下: var b = 0.825;        ...

  4. 排序图解:js排序算法实现

    之前写过js实现数组去重, 今天继续研究数组: 排序算法实现. 排序是数据结构主要内容,并不限于语言主要在于思想:大学曾经用C语言研究过一段时间的排序实现, 这段时间有空用JS再将排序知识点熟悉一遍. ...

  5. 结构-行为-样式-Js排序算法之 快速排序

    快速排序算法,是我的算法系列博客中的第二个Js实现的算法,主要思路:    在一个数组中随机取一个数(一般都取第一个或者最后一个),使这个数与数组中其他数进行比较,如果比它大就放到它的右边,比它小就放 ...

  6. js排序算法汇总

    JS家的排序算法   十大经典算法排序总结对比 一张图概括: 主流排序算法概览 名词解释: n: 数据规模k:“桶”的个数In-place: 占用常数内存,不占用额外内存Out-place: 占用额外 ...

  7. JS排序算法

    1.冒泡排序 冒泡算法是比较相邻的两项,如果前者比后者大,就交换他们. 假设一共有n项,那么一共需要n-1趟,第一趟需要交换n-1次,但是第一趟结束后,最后一项基本确定就是最大项了,所以第二次需要交换 ...

  8. 常用的 JS 排序算法整理

    关于排序算法的问题可以在网上搜到一大堆,但是纯 JS 版比较零散,之前面试的时候特意整理了一遍,附带排序效率比较. //1.冒泡排序 var bubbleSort = function(arr) { ...

  9. js的算法题

    1.统计一个字符串中出现最多的字母 给出一个字符串,统计出现次数最多的字母.如:“wqeqwhixswiqhdxsq”,其中出现最多的是q. js算法的实现 function findMax(str) ...

  10. js快速排序算法解析

    数组的快速排序算法,和并归排序步骤基本类似. 都是先拆分,后合并.并归排序是:拆分容易,合并难. 快速排序是:拆分难,合并容易 要理解快速排序,首先要理解拆分逻辑 要素:找一个基准点,通过操作使得数列 ...

随机推荐

  1. HDU 1285

    #include<stdio.h> #include<string.h> int degree[505],vis[505],map[501][501]; int main() ...

  2. Unity3d Physically Based Hair Shading in Unreal

    ---by wolf96 16/10/16

  3. Tomcat启动时为什么要配置CATALINA_HOME环境变量??

    CATALINA_HOME的值被设为Tomcat的安装目录,如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令 1.Tom ...

  4. public staic void main 总结

    jvm 就是java的操作系统.深入了解jvm很必要. public:该函数的修饰符,表示该函数是公有的,无需多言. static 对于函数的修饰,表明该方法为静态方法,可以通过类名直接调用,事项对于 ...

  5. Linux串口调试

    shell方式 1.使用minicon -s配置串口并保存: 2.使用setserial /dev/ttyUSB0 -a等查看串口配置: 3.接收侧cat /dev/ttyUSB0等待串口输出: 4. ...

  6. 【原创】关于hashcode和equals的不同实现对HashMap和HashSet集合类的影响的探究

    这篇文章做了一个很好的测试:http://blog.csdn.net/afgasdg/article/details/6889383,判断往HashSet(不允许元素重复)里塞对象时,是如何判定set ...

  7. POJ2479,2593: 两段maximum-subarray问题

    虽然是两个水题,但是一次AC的感觉真心不错 这个问题算是maximum-subarray问题的升级版,不过主要算法思想不变: 1. maximum-subarray问题 maximum-subarra ...

  8. Codeforces295A - Greg and Array(线段树的成段更新)

    题目大意 给定一个序列a[1],a[2]--a[n] 接下来给出m种操作,每种操作是以下形式的: l r d 表示把区间[l,r]内的每一个数都加上一个值d 之后有k个操作,每个操作是以下形式的: x ...

  9. DIV遮罩层传值

    今天费了很大的劲儿才搞定!下面贴出代码和总结: 1.首先是前台代码: <%@ Page Title="" Language="C#" MasterPage ...

  10. 全英文版时间格式化07/29/2010 4:14:01 PM

    之前格式化,AM PM出不来,总是显示上午 下午 aspx页面的绑定: <%#Eval("AddDate") == DBNull.Value ? "" : ...