javascript 数据结构的题

 更新时间:2008年07月20日 11:38:57   作者:  
面试题是3个数据结构的题,可以用java/c/c++/python实现,靠,js也能实现,鄙视js?我上机就用js写的,虽说肯定没戏,但js我挺。
 
有一数组[5,3,4,3,0,3,3]随便一个,找出出现频率最多的那个要符合频率数/数组长度>0.5,如果有就把这个数的下标打出来,如果没有返回-1  
var a = [5,3,4,6,3,3,3]   
    for(var i=0,ci,r={};ci=a[i];i++){   
        if(r[ci]){   
            r[ci].idx.push(i);   
            r[ci].count++;   
        }else{   
            r[ci]={idx:[i],count:1}   
        }   
    }   
    var f = -1,l=a.length;   
    for(var p in r){   
        if(r[p].count/l>0.5)f=r[p].idx;   
    }   
    alert(f);   
有数组[5,0,-5,2,-4,5],打出正负算一个数,每个数的频率数   
var a = [5,3,4,6,-3,3,-3]   
    for(var i=0,ci,r={};ci=a[i++];){   
        if(r[Math.abs(ci)]){   
            r[Math.abs(ci)]++   
        }else{   
            r[Math.abs(ci)]=1;   
        }   
    }      
    var s =[];   
    for(var p in r){   
        s.push(r[p]);   
    }   
    alert(s);   
有序列[5,0,2,-6,4]他的子序列可以有[5,0],[5,0,2][2,-6],[5,0,2,-6,4]但不能是[5,2],[5,-6]   
求最大的序列和,例子的最大序列是[5,0,2]=7  
    var a = [-6,0,2,5,4],max = 0;   
    for(var i=0,l=a.length;i<l-1;i++){   
        for(var j=i;j<l;j++){   
            for(var tmp=0,k=i;k<=j;k++){   
                tmp = tmp +a[k];   
            }   
            if(tmp>max) max = tmp;   
        }   
    }   
    alert(max);
winter 回复
第一题

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

第二题 如果不考虑JS方便的Object的话......

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

第三题 DP解法

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

第三个全负数的bug

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

相关文章

  • 自动生成文章摘要[JavaScript 版本]

    自动生成文章摘要[JavaScript 版本]

    这篇文章主要介绍了自动生成文章摘要[JavaScript 版本]
    2006-12-12
  • JavaScript如何检测并处理页面卡顿

    JavaScript如何检测并处理页面卡顿

    页面卡顿通常指的是网页的响应速度慢,用户的操作不能及时得到反馈,本文将为大家介绍如何使用JavaScript实现检测与处理页面卡顿,需要的可以了解下
    2025-03-03
  • js实现不提交表单获取单选按钮值的方法

    js实现不提交表单获取单选按钮值的方法

    这篇文章主要介绍了js实现不提交表单获取单选按钮值的方法,涉及javascript鼠标事件及页面元素属性操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • JavaScript Blob对象原理及用法详解

    JavaScript Blob对象原理及用法详解

    这篇文章主要介绍了JavaScript Blob对象原理及用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • javascript实现的右下角弹窗实例

    javascript实现的右下角弹窗实例

    这篇文章主要介绍了javascript实现的右下角弹窗,实例分析了javascript实现右下角弹窗的完整实现步骤与技巧,需要的朋友可以参考下
    2015-04-04
  • 利用原生JS实现懒加载lazyLoad的三种方法总结

    利用原生JS实现懒加载lazyLoad的三种方法总结

    加载页面的时候,图片一直都是流量大头,针对图片的性能方法也挺多的比如base64、雪碧图等;懒加载也是其中一种,这篇文章主要给大家介绍了关于利用原生JS实现懒加载lazyLoad的三种方法,需要的朋友可以参考下
    2021-07-07
  • javascript 命名空间以提高代码重用性

    javascript 命名空间以提高代码重用性

    为你封装的javascript库加上命名空间以提高代码重用性
    2008-11-11
  • js按指定格式显示日期时间的样式代码

    js按指定格式显示日期时间的样式代码

    按指定格式显示日期时间在开发与时间相关的应用时非常有用,接下来与大家分享下格式化显示日期时间的方法,感兴趣的朋友可以参考下哈
    2013-04-04
  • JS自动倒计时30秒后按钮才可用(两种场景)

    JS自动倒计时30秒后按钮才可用(两种场景)

    在WEB程序开发中经常会见到用倒计时限制用户对表单的操作,希望用户在规定的时间内阅读完协议信息才允许用户继续下一步操作,本文通过两种场景分析js实现自动倒计时30秒后按钮才可用,小伙伴快来学习吧
    2015-08-08
  • Javascript闭包演示代码小结

    Javascript闭包演示代码小结

    有个网友问了个问题,如下的html,为什么点击所有的段落p输出都是5,而不是alert出对应的0,1,2,3,4。
    2011-03-03

最新评论