新足迹

 找回密码
 注册

精华好帖回顾

· 猫唱 (2012-8-14) 征途归来 · 车拿到了,ford XR6 BA,初步油耗统计! (2006-2-25) ufo
· 交作业啦,墨尔本宝宝聚会! (2008-10-23) 念念 · 圣诞游中部红色沙漠回来(Uluru & Alice Springs) 更新完毕,谢谢大家! (2010-12-29) 水晶芭比
Advertisement
Advertisement
12
返回列表 发新帖
楼主:Dan.and.Andy

我最烦这么招人的了, 不过题公布一下(javascript) [复制链接]

特殊贡献奖章

发表于 2011-2-25 16:18 |显示全部楼层

回复 26# 的帖子

此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
红哥,你跟老大一样理解错了
是求array位置不是match的数量

我发现第一题很有误导性
位置跟数量都是2

[ 本帖最后由 kr2000 于 2011-2-25 16:21 编辑 ]
Advertisement
Advertisement

发表于 2011-2-25 16:20 |显示全部楼层

回复 26# 的帖子

此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
porcorosso,如果你把arg2改成[3,7,8], 结果就不对啊

发表于 2011-2-25 16:23 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
ms招人算法全都是array的,具体语言不限,不过一般人都用c++

发表于 2011-2-25 16:25 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-2-25 16:18 发表
红哥,你跟老大一样理解错了
是求array位置不是match的数量

我发现第一题很有误导性
位置跟数量都是2


还好吧,题目说了是"starting index"

特殊贡献奖章

发表于 2011-2-25 16:29 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
php的array是hash table,方便很多,岂不是很占便宜
原帖由 乱码 于 2011-2-25 16:23 发表
ms招人算法全都是array的,具体语言不限,不过一般人都用c++

发表于 2011-2-25 16:34 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-2-25 16:29 发表
php的array是hash table,方便很多,岂不是很占便宜


是么?interesting :)

不过他们从data structure上来说是不同的,用在上面的算法也就不同,hash table无论用多好的hash function,从空间利用来说都没有array好。
Advertisement
Advertisement

发表于 2011-2-25 16:38 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 porcorosso 于 2011-2-25 15:03 发表
  1. <script>
  2. var arg1=[4,9,3,7,8];
  3. var arg2=[3,7];

  4. var matched = 0;
  5. for(var i=0;i<arg2.length;i++)
  6. {
  7.         if(arg1.indexOf(arg2)>-1)
  8.         matched++;
  9. }
  10. alert(matched);
  11. </script>
复制代码
简装版, ie7+


What about [4,379,3,7,8], [3,7] should return 2? LOL

Too simple, too naive.  

[ 本帖最后由 混不到坑的萝卜 于 2011-2-25 15:40 编辑 ]

特殊贡献奖章

发表于 2011-2-25 16:39 |显示全部楼层

php array keys

此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
  1. <?php
  2. $array = array(0 => 100, "color" => "red");
  3. print_r(array_keys($array));

  4. $array = array("blue", "red", "green", "blue", "blue");
  5. print_r(array_keys($array, "blue"));

  6. $array = array("color" => array("blue", "red", "green"),
  7.                "size"  => array("small", "medium", "large"));
  8. print_r(array_keys($array));
  9. ?>
复制代码
The above example will output:
  1. Array
  2. (
  3.     [0] => 0
  4.     [1] => color
  5. )
  6. Array
  7. (
  8.     [0] => 0
  9.     [1] => 3
  10.     [2] => 4
  11. )
  12. Array
  13. (
  14.     [0] => color
  15.     [1] => size
  16. )
复制代码

发表于 2011-2-25 16:49 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
题目太模糊。。。这份工要不得。。。

发表于 2011-2-25 16:55 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
  1. <script>
  2. function matching(arg1,arg2)
  3. {
  4.         for(var i=0;i<arg1.length;i++)
  5.         {
  6.                 var innermatch = 0;
  7.                 for(var j=0;j<arg2.length;j++)
  8.                 {
  9.                         if(arg1[i+j] == arg2[j])
  10.                                 innermatch++;
  11.                 }
  12.                
  13.                 if(innermatch == arg2.length)
  14.                 return i;
  15.         }
  16. }

  17. var arg1=[4,9,3,7,8];
  18. var arg2=[3,7];

  19. alert(matching(arg1,arg2));
  20. </script>
复制代码
好像可以了。。。

p/s: innermatch 需改成 -1...

[ 本帖最后由 porcorosso 于 2011-3-1 16:29 编辑 ]

发表于 2011-3-1 14:20 |显示全部楼层
此文章由 charmer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 charmer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
task 1 is a good test as all your functions will return wrong index by passing following parameters

var arg1=[4,9,3,7,8];
var arg2=[];
Advertisement
Advertisement

发表于 2011-3-1 15:18 |显示全部楼层
此文章由 Dan.and.Andy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Dan.and.Andy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 charmer 于 2011-3-1 14:20 发表
task 1 is a good test as all your functions will return wrong index by passing following parameters

var arg1=[4,9,3,7,8];
var arg2=[];


我那个 return -1

发表于 2011-3-1 16:22 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
I worked out in 15 Mins
Source code below, tested in IE8

<html><head>
<script type="text/javascript">

var a1=["61","71","71","61","51","41","21","31","1"];
var a2=["61","51","41","21"];
//create a method for a1 to get a sub array, then compare this sub array with a2
a1.sub_array=function(iStart,iLength){
    var a=new Array(iLength);
    var i,j;
    for(i=iStart,j=0;i<iLength+iStart;i+=1,j+=1)
   {
        a[j]=a1
    }
   return a; //return the sub array
}

//two arrays, their length are same, so we can just compare one by one item
function compare_arrays(b1,b2)
{
var i;
var eq=0;//yes, equal
        for(i=0;i<b1.length;i+=1){
                if(b1!==b2)eq+=1; //break
        }
return eq;
}

//now we go
var ilen1=a1.length
var ilen2=a2.length
var iindex;

for(iindex=0;iindex<ilen1-ilen2;iindex+=1)
{
var sub=a1.sub_array(iindex,ilen2)

if(compare_arrays(sub,a2)===0){
alert("The index is"+iindex);
}


}

</script>
</head>

</html>


[ 本帖最后由 典 于 2011-3-1 15:25 编辑 ]

发表于 2011-3-1 16:27 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 charmer 于 2011-3-1 14:20 发表
task 1 is a good test as all your functions will return wrong index by passing following parameters

var arg1=[4,9,3,7,8];
var arg2=[];


我的return 0

发表于 2011-3-1 16:34 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 porcorosso 于 2011-2-25 15:03 发表

var arg1=[4,9,3,7,8];
var arg2=[3,7];

var matched = 0;
for(var i=0;i-1)
        matched++;
}
alert(matched);
简装版, ie7+


Not working in IE8?

发表于 2011-3-2 23:24 |显示全部楼层
此文章由 DoubleU 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DoubleU 所有!转贴必须注明作者、出处和本声明,并保持内容完整
第一题的算法,可以参照JAVA String.indexOf().

当年俺就是这么干的,
Advertisement
Advertisement

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部