zoukankan      html  css  js  c++  java
  • FCC 中级算法题 Drop it

    Drop it

    思路:
    (1)先获得数组的长度(在后面的循环中数组的长度是变化的);
    (2)根据数组的长度设计一个for循环(不能叫遍历了);
    (3)获取当前数组的第一个元素(这里shift操作其实已经将数组改动了),如果符合func函数,就将刚才拿掉的第一个元素还给数组,
    这么一来只要遇到第一个符合func函数的元素,arr数组就不会再变化了(一个减去,一个又添加回来),最后返回arr数组;
    知识点:
    (1)Array.shift()方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
    (2)Array.unshift()方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
    代码:
     1 function drop(arr, func) {
     2   // Drop them elements.
     3 var l=arr.length;
     4   for(var i=0;i<l;i++){
     5     var fir=arr.shift();
     6    if(func(fir)){
     7      arr.unshift(fir);  
     8    }
     9   }
    10 
    11   return arr;
    12 }
    13 
    14 drop([1, 2, 3, 4,5], function(n) {return n > 4;});
  • 相关阅读:
    51单片机学习1
    M41T11-RTC(实时时钟)
    ATmega8仿真——外部中断的学习
    C# 调用动态代码
    C# Attribute的用法
    DataTable相关
    addin1
    多线程信号源_红绿灯
    EF CodeFirst简单实例
    WCF配置Tcp协议
  • 原文地址:https://www.cnblogs.com/lailailee/p/7290833.html
Copyright © 2011-2022 走看看