1.找出数组元素item在给定数组arr中的位置

var a=[1,5,‘ff‘,‘g‘,‘h‘,‘sd‘];
    alert(indexof(a,‘g‘));                              //3
    function indexof(arr,item){
        if (Array.prototype.indexOf)              //判断Array原型中是否有此方法
        {
        return arr.indexOf(item);
        }
        else{
            for (var i=0;i<arr.length ;i++ )
            {
                if(arr[i]==item){ return i  }
            }
        }
    }
时间: 2024-09-30 18:32:55

1.找出数组元素item在给定数组arr中的位置的相关文章

在一个整型数组中有一个元素的出现次数超过了数组长度的一半,试设计一个 在时间上尽可能高效的算法,找出这个元素。

题目:在一个整型数组中有一个元素的出现次数超过了数组长度的一半,试设计一个 在时间上尽可能高效的算法,找出这个元素.要求:(1)给出算法的基本设计思想.(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释.(3)说明你所设计算法的时间复杂度和空间复杂度. (1)基本的设计思想: 一个数字出现的次数超过了长度的一半, 那么我们可以这样认为这个数字出现的个数一定大于其他全部数字出现的个数之和.算法的步骤如下: ①设数组为data[],数组长度为n,i=1.置currentAxi

9.11排序与查找(六)——给定M*N矩阵,每一行、每一列都按升序排列,找出某元素

/** * 功能:给定M*N矩阵,每一行.每一列都按升序排列,找出某元素. */ 两种方法: 方法一: /** * 思路:若列的末端大于x,那么x位于该列的左边:若行的开头小于x,那么x位于列的下边.从矩阵中的子矩阵中查找元素. * @param matrix * @param elem * @return */ public static boolean findElement(int[][] matrix,int elem){ int row=0; int col=matrix[0].len

在由N个元素构成的集合S中,找出最小元素C,满足C=A-B,其中A,B是都集合S中的元素,没找到则返回-1

package bianchengti; /* * 在由N个元素构成的集合S中,找出最小元素C,满足C=A-B, * 其中A,B是都集合S中的元素,没找到则返回-1 */ public class findMinValue { //快速排序 public static void sort(int a[], int low, int hight) { if (low > hight) { return; } int i, j, key; i = low; j = hight; key = a[i]

[百度]在由N个正整数的集合S中,找出最大元素C,满足C=A + B

[题目] 在由N个正整数的集合S中,找出最大元素C,满足C=A + B 其中A,B都是集合S中元素,请给出算法描述,代码与时间复杂度分析. [分析] 1,对集合S进行排序(快排),从小到大排序 2,让C指向集合最后一个元素(最大元素) 3,让i指向S中第一个元素,让j指向C的前一个元素 4,如果,A[i]+A[j]==C则return C; 5,如果if(A[i]+A[j]<C)则i++; 6,如果if(A[i]+A[j]>C)则j--; 7,直道i>=j依然没有找到符合条件的元素,则C

Single Number 数组中除了某个元素出现一次,其他都出现两次,找出这个元素

Given an array of integers, every element appears twice except for one. Find that single one. Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? 数组中除了某个元素出现一次,其他都出现两次,找出只出现一次的元素. 一个数字和自己异或

找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。 范围是两个数字构成的数组,两个数字不一定按数字顺序排序。

function smallestCommons(arr) { arr = arr.sort(); //从小到大排序 var result ; //结果 var judge = false; //判断公倍数 var count = 0; //计数 for(var g=arr[1];g<400000;g++){ //从arr[1]开始遍历判断公倍数g,'j<400000'可为空,直到无穷(不推荐) for(var i=arr[0];i<=arr[1];i++){ //遍历 给定参数arr之

leetcode 1: 找出两个数相加等于给定数 two sum

问题描述 对于一个给定的数组,找出2个数,它们满足2个数的和等于一个特定的数,返回这两个数的索引.(从1开始) Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the target,

算法-找出其他出现偶数次的数组中出现1次,2次,3次的数

#include <cstdio> #include <cstring> #include <algorithm> #include <map> #include <iostream> #include<vector> #include<string> #include<set> #include<unordered_set> #include<queue> #include<ma

找出现有Vector或ArrayList或数组中重复的元素&amp;给现有Vector或ArrayList或数组去重

//直接上代码: public static void main(String[] args) { List<Integer> list = new Vector<Integer>(20); for (int i = 0; i < 10; i++) { list.add(i % 3); list.add(i % 6); list.add(i % 2); list.add(i % 4); } System.out.println("原始元素:" + list