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. ArrayList源码解析

    ArrayList简介 ArrayList定义 1 public class ArrayList<E> extends AbstractList<E> implements L ...

  2. ZOJ 3790 Consecutive Blocks

    大致题意就是给你一个数列,让你最多移除K个数字,使得连续的相同数字的长度最大,并求出最大长度. 我们将此序列按颜色排序,颜色相同的话按位置排序,那么排完序之后颜色相同的blocks就在一起,只是他们的 ...

  3. [转]ASP.NET MVC 入门3、Routing

    在一个route中,通过在大括号中放一个占位符来定义( { and } ).当解析URL的时候,符号"/"和"."被作为一个定义符来解析,而定义符之间的值则匹配 ...

  4. Java笔记(六)……程序流程控制

    判断结构 三种结构: 1: if(条件表达式) 2: { 3: 执行语句; 4: } 5:  6: if(条件表达式) 7: { 8: 执行语句; 9: } 10: else 11: { 12: 执行 ...

  5. android获取屏幕分辨率

    DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); dm. ...

  6. Codeforces245H - Queries for Number of Palindromes(区间DP)

    题目大意 给定一个字符串s,q个查询,每次查询返回s[l-r]含有的回文子串个数(题目地址) 题解 和有一次多校的题目长得好相似,这个是回文子串个数,多校的是回文子序列个数 用dp[i][j]表示,s ...

  7. 易元平台使用-MVC体会

    M:服务-提供数据 V:freemaker-提供显示方式 C:控制器-控制显示方式

  8. iOS 火星坐标相关整理及解决方案汇总(转)

    这几天在处理定位相关的代码,彻彻底底的被火星坐标恶心到了. 恶心列表 从 CLLocationManager 取出来的经纬度放到 mapView 上显示,是错的! 从 CLLocationManage ...

  9. OpenWRT加入 crontab开机默认运行

    [转载请注明出处:钱国正专栏 http://blog.csdn.net/qianguozheng/article/details/37666829] OpenWRT系统默认已经加入了crond,仅仅是 ...

  10. SQL中使用WITH AS提高性能

    本文内容一部分来自:http://wudataoge.blog.163.com/blog/static/80073886200961652022389/ 一.WITH AS的含义     WITH A ...