精华内容
下载资源
问答
  • (1)实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中; var arr=[2,8,5,0,5,2,6,7,2]; function unique1(arr){ var hash=[]; for (var i = 0; i < arr....

    (1)实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中;

    var arr=[2,8,5,0,5,2,6,7,2];
    function unique1(arr){
      var hash=[];
      for (var i = 0; i < arr.length; i++) {
         if(hash.indexOf(arr[i])==-1){
          hash.push(arr[i]);
         }
      }
      return hash;
    }
    

    (2)实现思路:双层循环,外循环表示从0到arr.length,内循环表示从i+1到arr.length。将没重复的右边值放入新数组。(检测到有重复值时终止当前循环同时进入外层循环的下一轮判断)——推荐

    function unique4(arr){
      var hash=[];
      for (var i = 0; i < arr.length; i++) {
        for (var j = i+1; j < arr.length; j++) {
          if(arr[i]===arr[j]){
            ++i;
          }
        }
          hash.push(arr[i]);
      }
      return hash;
    }
    
    展开全文
  • 一、基本说明1.Java语法的特点关键字都是小写字母标识符没有长度限制使用Unicode编码Java是一种强类型的..."环境变量"按钮新建一个JAVA_HOME的用户变量,路径编写为jdk的安装路径编辑变量 Path,向其中添加路径:%...

    一、基本说明

    1.Java语法的特点

    1. 关键字都是小写字母
    2. 标识符没有长度限制
    3. 使用Unicode编码
    4. Java是一种强类型的语言,变量在编译之前一定要被显示的声明

    2.配置环境变量

    1. 安装jdk软件,记录安装路径
    2. 打开 “计算机属性”-->"高级系统设置"-->"高级"标签页-->"环境变量"按钮
    3. 新建一个JAVA_HOME的用户变量,路径编写为jdk的安装路径
    4. 编辑变量 Path,向其中添加路径:%JAVA_HOME%bin;%JAVA_HOME%jrebin;(注意不要删除其中原有的数据)
    5. 新建变量 CLASSPATH ,路径编写为:%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;

    3.内存

    Java中,内存分为栈内存和堆内存。栈内存中保存变量,堆内存中保存使用new语句创建的对象。

    二、基础语法

    1.访问权限

    Java中用访问修饰符来修饰变量、方法、类,来控制这些元素的访问权限。

    1. 只要没有显示声明为某种权限,默认都是friendly。
    2. 如果类中没有构造函数,编译器会为类自动添加构造函数,构造函数的访问权限和类的访问权限一致。
    3. 子类的访问权限,只能比父类的访问权限更加开放

    成员变量和方法的访问权限:

    0d21ef32316743f2f8d92cb2ba1d4c73.png

    普通类的访问权限:

    36d2dd0122c076b80b77e488ec12bff5.png

    内部类的访问权限:

    • 内部类可以使用public、protected、friendly、private 4种修饰符进行修饰。

    2.数据类型

    整型:

    7a8208a3a439efacbedc8d66fc495bed.png

    说明:

    1. Java中所有整型数据都是带符号的
    2. 整型常量默认为int类型的。
    3. 在数字后面加上字母L,该整数会被定义成long类型。
    4. 在数字后面加上字母l,该整数会被定义成long类型。

    浮点型:

    7d40f494e756c09ed7a3d825d890d724.png

    说明:

    1. 浮点型可以用来表示小数,或者范围更大的整数。
    2. 浮点型常量默认为double类型。
    3. 在数字后面字符F,该浮点数会被定义为float。
    4. 在数字后面字符D,该浮点数会被定义为double。
    5. Float.MAX_VALUE、Float.MIN_VALUE表示float类型的上下限。
    6. Double.MAX_VALUE、Double.MIN_VALUE表示double类型的上下限。

    字符型:

    0645a7761eb717e3ca129ecab3509294.png

    说明:

    1. char类型的值必须包含在单引号中。
    2. 在Java中字符采用Uicode编码,所以无论是中文还是英文,每个字符都占用2个字节。

    布尔型:

    1970b7f87a5226fc75a2d560995e2652.png

    3.数据类型转换

    自动转换:

    赋值运算符和算术运算符两边的数据类型不一致时,如果数据类型相互兼容,将自动转换数据类型。

    数据的兼容关系:

    1. byte、short、int、long、float、double相互兼容。
    2. char、boolean与所有类型不兼容。

    转换规则:

    1. 整型转换为浮点型
    2. 长度短的转换为长度长的

    强制类型转换:

    当无法进行自动转换时,可以使用强制类型转换。

    语法: (目标数据类型)数据 示例:(int) float a=1.1f; 将float数据a强制转为int型。

    说明:

    1. 当浮点型转换为整型时,小数部分被舍弃。
    2. 当数据范围大的数据被转换为数据范围小的数据时,会将当前数据对目标数据类型取模后,将模保存到目标数据中。

    4.运算符号

    f01f7c382fca7c69fd616a494556fef0.png

    07fa14de0d63fe71b167ac86d762bfee.png

    说明:

    1. 只有byte、short、char、int、long类型的数据可以进行位移操作。
    2. byte、short、char位移后会自动转换为int类型。
    3. int、long位移后的数据类型不变。
    4. 位移操作的结果会保存在新的内存空间中,不会影响参与位移数据的值。
    5. byte、short、char、int类型的数据进行位移时,实际移动的位数是位移公式中的移动位数%32的值。
    6. long类型的数据位移时,实际移动的位数是要求移动位数%64
    7. 左移的移动规则:将一个数据转换成二进制,移动几位就在末尾添加几个0,将超出数据长度的高位舍弃。如果一个数左移n位后没有舍弃高位,相当于这个数乘上2的n次方。
    8. 带符号右移的移动规则:将一个数转换成二进制,移动几位就在高位添加几个0,然后将左边第一位修改为数据原本的正负符号(1表示整数,0表示负数),将超出数据长度的低位舍弃。一个数右移n位后,相当于除以2的n次方。
    9. 不带符号右移的移动规则:移动规则与带符号右移的规则一致,不过在补高位时一律补0,而不考虑数据原本的正负符号。
    10. 算数运算符、赋值运算符可能触发数据类型的自动转换
    11. 在Java中,赋值语句可以连接在一起,例如:x=y=z=5。

    三、数据结构

    1.字符串

    在Java中,字符串是一个对象,可以用Java提供的标准包Java.lang中封装的String类进行创建。

    一个String对象被创建后,如果它的值发生改变,将会创造出一个新的字符串对象,并且将新的字符串对象的地址复制给引用变量。旧的字符串对象依然存在。如果一个字符串对象的值需要经常改变,可以创建为StringBuffer类型。

    使用注意:

    1. 在结尾时不要使用0符号
    2. 字符串内容必须用双引号包含
    3. 字符串中的每个字符都使用Unicode编码

    声明:

    String name;

    实例化:

    • 使用构造函数实例化字符串对象:

    289446e2803d9c2d32b9b14f1bb1c7cc.png
    • 使用字符串常量实例化字符串对象:
    String name= "String content";
    • 使用字符串连接符实例化字符串对象

    字符串方法:

    c9f216f2878a41c30c18cca675fd02bc.png

    2.一维数组

    声明:

    • 语法:type arrayName[]
    • 语法:type[] arrayName[];

    说明:

    1. type是数据类型
    2. 声明数组的时候系统不会分配内存空间
    3. 声明数组的时候不能指定长度

    实例化:

    • 语法:arryaName = new type[length];

    说明:

    1. type必须与声明时的类型一致
    2. length是必须是大于1的正整数
    3. 实例化语句可以跟声明语句合并

    初始化:

    • 静态初始化

    语法:type[] arrayName={value1,value2} 说明:静态初始化的语句必须与数组的声明语句写在一起,此时不需要new关键字。

    • 动态初始化

    语法:type[] arrayName=new int[]{value1,value2} 说明:动态初始化相当于在创建数组的时候,执行初始化操作。

    内存中的保存形式:

    一维数组创建后,会在堆内存中,分配出数据元素个数的存储单元,用来保存数组元素的值。在栈内存中用数组名创建一个变量,保存数组第一个元素在堆内存中的地址。

    元素访问:

    语法:array[index]

    属性:

    length:元素个数

    方法:

    63bf0519cfd8d84f0d42703b01eb76e0.png

    3.二维数组

    二维数组是由多个一维数组组成的,各个一维数组的长度可以一样,也可以不一样。

    声明:

    • 语法:type[][] arrayName;
    • 语法:type arrayName[][];

    实例化:

    1. 一维数组长度相同的二位数组:arrayName = new type[length1][length2]
    2. 一维数组长度不同的二位数组只能给每个一维数组分别实例化:
    arrayName = new type[length][];
    arrayName[0] = new type[length21];
    arrayName[1] = new type[length22];

    初始化:

    • 语法:type[][] arrayName = {{value00,value01},{value10,value11,value12}}

    内存中的保存形式:

    假设数组为:

    int[][] a= new int[2];
    a[0] = new int[2];
    a[1] = new int[3];

    申请内存的顺序:

    1. 在堆内存中,为a[0]和a[1]分配两个单元的空间,让这两个一维数组名变量保存他们第一个元素的地址。
    2. 在堆内存中,分配2个连续的单元,用来保存a[0]这个一维数组的元素值,同时将a[0][0]的地址保存到a[0]的内存空间中。
    3. 在堆内存中,分配3个连续的单元,用来保存a[1]这个一维数组的元素值,并且把a[1][0]的地址保存到a[1]的内存空间中。
    4. 在栈内存中,分配一个单元给二维数组名a,将a[0]的地址保存在这个空间中。

    内存中的数据:

    元素访问

    语法:array[index][index]

    5272661b37f32f6ccf4b1c8bfb0fbeb4.png

    四、库函数

    0b2294e90950955d0e4f086017a16836.png

    五、使用技巧

    main函数不能写在内部类中

    1.使用正则表达式

    思路:用指定的正则表达式实例化一个pattern对象,然后调用这个对象的匹配方法得到匹配结果。

    示例代码:

    String string="abcde";
    String regex="c//we";
    Pattern p=Pattern.compile(regex);
    Matcher m=p.matcher(string);
    while(m.find())
    {
         System.out.println(m.group());
    }

    2.去掉数组重复项

    思路:

    1. 假设需要去重的数组名为O,新建一个可变长度的数组N
    2. 依次从数组O中取出元素,如果在数组N中存在,直接从O中删除;如果在N中不存在,放入N中再从O中删除。
    3. 最后数组N就是O去重后的数组。

    3.整数取模问题

    不同的编译器,对整数取模会有不同的结果:

    1. 对于同号的2个整数,所有语言的运算规则是使商尽可能小。
    2. 对于异号的2个整数,C++/Java使商尽可能大,其他语言使商尽可能小。

    4.快速遍历数组元素

    示例代码:

    int[] a={1,2,3};
    for(int i:a)
    {
        System.out.println("i="+i);
    }
    展开全文
  • 数组去掉其中一个,返回其他剩余的元素 var arr = [ { title:'第1个产品', viewnum:'3000', }, { title: '第2个产品', viewnum: '3000', }, { title: '第3个产品', viewnum: '3000', }, { title:...

    数组,去掉其中的一个,返回其他剩余的元素

    var arr = [
      {
        title:'第1个产品',
        viewnum:'3000',
      },
      {
        title: '第2个产品',
        viewnum: '3000',
      },
      {
        title: '第3个产品',
        viewnum: '3000',
      },
      {
        title: '第4个产品',
        viewnum: '3000',
      },
    ];
    var item = 2;
    var array = [];
    for (var i = 0; i < arr.length; i++) {
        if(i != item){
            array.push(arr[i]);
        }
    }
    console.log(array)
    

    思路

    1、新建一个数组
    2、遍历原数组,用要删除的下标,对比原数组的下标,如果不一致,则将原数组的该元素,push到新建的数组中
    3、循环结束后,将新数组赋值给原数组,这样就完成了目标

    end

    展开全文
  • 定义一个数组其中包含多个0 元素,将数组中的0项去掉,将不为0的值存入一个数组,输出这个新数组变量和数组元素 public static void main(String[] args) { int a[]={5,4,8,0,3,0,7,9,2,0}; for (int i=0;i&...

    定义一个数组,其中包含多个0 元素,将数组中的0项去掉,将不为0的值存入一个新数组,输出这个新数组变量和数组元素
    public static void main(String[] args) {
    int a[]={5,4,8,0,3,0,7,9,2,0};
    for (int i=0;i<a.length;i++){
    if (a[i]!=0){
    int b[]=new int[10];
    for (int n=0;n<b.length;n++){
    b[n]=a[i];
    System.out.println(b[n]);break;
    }
    }
    }
    }
    }

    展开全文
  • jquery删除数组中的一个元素的方法是用 splice 实现的。举例说明:var arrList = ['a','b','c','d'];arrList.splice(jQuery.inArray('b',arrList),1);alert(arrList);其中jQuery.inArray(‘b’,arrList)是b这个元素...
  • php数组去掉空值的方法:首先创建一个PHP示例文件;然后通过“array_filter($entry)”方法过滤数组中的空值;最后通过print打印结果即可。推荐:《PHP视频教程》PHP过滤数组中的0、null、false和''等空值PHP对数组的...
  • php数组去掉空值的方法:首先创建一个PHP示例文件;然后通过“array_filter($entry)”方法过滤数组中的空值;最后通过print打印结果即可。推荐:《PHP视频教程》PHP过滤数组中的0、null、false和''等空值PHP对数组的...
  • php数组去掉空值的方法:首先创建一个PHP示例文件;然后通过“array_filter($entry)”方法过滤数组中的空值;最后通过print打印结果即可。PHP过滤数组中的0、null、false和''等空值PHP对数组的操作已经一套非常完整...
  • 2020-10-30:给定一个正数数组arr(即数组元素全是正数),找出该数组中,两个元素相减的最大值,其中被减数的下标不小于减数的下标。即求出:maxValue = max{arr[j]-arr[i] and j >= i}?福哥答案2020-10-30:1....
  • 请将其中小于60的项去掉,将其余的值保存到一个新的数组b中,然后调用Arrays.sort(b)将b数组从小到大排序,并调用Arrays.toString(b)将其中的内容转换成字符串,最后将得到的字符串输出出来。 输出样例 [60, 62, 63,...
  • 给定一个数组一个数(该数不一定在数组中),从数组里删掉这个数字,返回剩下的数组长度。 如:A[] = {1, 2, 3, 4, 5},要删除数字 3,那么返回数组长度为 4。 亲爱的小伙伴们,题目是不是很简单呢? 提示:int...
  • options包含Children var Children = [{},{},{}] var options = [{},{},{},{},{}] function duplicates(options, Children) { ... // 这里的ID代表的两个数组中的对象某一个属性。 Children.forEach((elements) =&
  • 动态创建一个长度为100的整型数组,随机产生100个整型数据(0-100),分别赋值给数组各元素,输出其中所有的素数(去掉重复元素)。 主要问一下怎么才能去掉重复元素</p>
  • 它长这样经过测试,他直接扣出来也能跑,不过我们看下他这个奇怪的混淆思路,我们分析然后记下来,方便我们以后写混淆工具的时候作为其中一种方式,为我们所用。因为他是一个闭包,所以我们直接看最后最后会执行一个...
  • php数组去除空值函数分享对于一个一维的php数组,如何清除其中值为空的元素呢?直接的办法是foreach循环一下,一个个判断排除。不过这个方法还是略显复杂,下面分享一下今天看到的一个方法,非常简洁/*** 方法库-...
  • sort(): sort()方法会调用每个数组项的toString()转型方法,然后比较得到...比较函数接收两个参数,如果第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等则返回0,如果第一个参数应该位于第二个之后则返
  • int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A,int nSize), 使A把0移至后面,非0整数移至数组前面并保持有序(按原来顺序),返回值为原数据中第一个 元素为0的下标。(尽可能不使用辅助...
  • 一个简单的问题:已知一个数组int[] s = {1,2,3,2,4} 怎么把重复的其中之一改为0或去掉然后再生成一个新的int数组? 希望代码简单一点的!!
  • 去掉重复的数组对象并把其中相同的属性相加 //去掉重复对象的新数组 对象{project:'调测费',cost:cost,careful:careful,name:productName} ... //把第一个对象赋值给数组 unique = [vueObject.costTableData[0]]; }
  • 给出一个数组,在其中找到三个数相加使得结果为0? 思路: 从数组中找到第一个数,然后用0减去这个数,得到一个sum,然后在剩下的几个数中从两头开始遍历找两个数相加的和为sum,如果第一次找到了这两个数,那么分别...
  • 两数之和 II - 输入有序数组(点击文末阅读原文查看题目)题目描述给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 ...
  • 数组,多维数组

    2021-01-08 23:40:07
    数组数组将同一个对象指定给两个参考名称运行后则brr变量和arr变量都指向同一个数组,就是前面创建的数组其中存放了26个字符的数组扩展:实现一个可变长的数组【Java中要求数组的长度是确定,一旦定义则不允许修改...
  • 对于一个一维的php数组,如何清除其中值为空的元素呢?直接的办法是foreach循环一下,一个个判断排除。不过这个方法还是略显复杂,下面分享一下今天看到的一个方法,非常简洁/*** 方法库-数组去除空值* @param ...
  • 这是我的第篇博客,起初是为了完成项工作任务,即把两个数组合并,并且去掉其中相同的元素。后来想,为何不把这过程记录一下,既方便未来自己使用、查阅,也可以给大家提供一些方便和思路。**首先说明,我并...
  • 数组

    2020-12-27 16:49:35
    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号...
  • 转载请注明来自souldak,微博:@evagle 题目如题所诉:其实就是前面那篇leetcode 最长连续序列 longest consecutive sequence 的升级版 ...现在给出一个O(n^2)的算法: 算法思路: 先排序,O
  • 数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗? int missingNumber(int* nums, int numsSize){ int num = 0; for(int i = 0; i < numsSize; i++)...
  • array_splice这个数组函数在w3school的解释是把数组中的一部分去掉并用其它值取代。所以我在做数组移除的时候没有考虑到用这个函数...使用环境:人才网项目中有一个简历保密设置,其中一个过滤关键词,只有某个企业的
  • 描述给出一个无序的整数数组,找出其中没有出现的最小正整数。您在真实的面试中是否遇到过这个题? 是样例如果给出 [1,2,0], return 3如果给出 [3,4,-1,1], return 2挑战只允许时间复杂度O(n)的算法,并且只能使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 489
精华内容 195
关键字:

数组去掉其中一个