精华内容
下载资源
问答
  • 从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的...

    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。

     

    样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)

    5

    3 4 0 0 2

    样例输出:(输出格式说明:3为非零数据的个数,3 4 2 是以空格隔开的3个非零整数)

    3

    3 4 2

     

    样例输入:

    7

    0 0 7 0 0 9 0

    样例输出:

    2

    7 9

     

    样例输入:

    3

    0 0 0

    样例输出:

    0

     

    import java.util.ArrayList;

    import java.util.List;

    import java.util.Scanner;

     

    public class ALGO79 {

    public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    int a = sc.nextInt();

    int arr [] = new int[a];

    int count =0;

    for(int i=0;i<a;i++){

    arr[i]=sc.nextInt();

    if(arr[i]!=0){

    count++;

    }

    }

    System.out.println(count);

    CompactIntegers(arr, a);

     

    }

    public static int CompactIntegers(int arr[],int n){

    int count =0;

    List<Integer> list = new ArrayList<Integer>();

    for(int i=0;i<n;i++){

    if(arr[i]==0){

    count++;

    }else{

    list.add(arr[i]);

    }

    }

    if(count==n){

    return 0;

    }else{

    for(int i=0;i<list.size();i++){

    System.out.print(list.get(i)+" ");

    }

    }

    return (n-count);

    }

     

    }

    展开全文
  • 【算法】【数组删除数组中所有值为x的数据元素题目算法一算法二算法三 题目 删除数组中所有值为x的数据元素 算法一 思路:统计不等于x的个数 时间复杂度:O(n)O(n)O(n) 空间复杂度:O(1)O(1)O(1) //算法一:...

    学而不思则罔,思而不学则殆

    【算法】【数组】删除数组中所有值为x的数据元素


    题目

    删除数组中所有值为x的数据元素

    算法一

    思路:统计不等于x的个数
    时间复杂度:O(n)O(n)
    空间复杂度:O(1)O(1)

        //算法一:统计不等于x的个数
        private static void del_x_1(int[] ints, int delete) {
            int k = 0;
            for (int anInt : ints) {
                if (delete != anInt) {
                    ints[k++] = anInt;
                }
            }
            //k表示不等delete的个数
            //[k,ints.length-1] 置为-1
            for (int index = k; index < ints.length; index++) {
                ints[index] = -1;
            }
        }
    

    算法二

    思路:统计等于x的个数
    时间复杂度:O(n)O(n)
    空间复杂度:O(1)O(1)

        //算法二:统计等于x的个数
        private static void del_x_2(int[] ints, int delete) {
            //delete出现的次数
            int deleteNum = 0;
            for (int i = 0; i < ints.length; i++) {
                int tmp = ints[i];
                if (delete == tmp) {
                    deleteNum++;
                } else {
                    ints[i - deleteNum] = tmp;//当前元素前移deleteNum个位置
                }
            }
    
            //k表示不等delete的个数
            //[k,ints.length-1] 置为-1
            for (int index = ints.length - deleteNum; index < ints.length; index++) {
                ints[index] = -1;
            }
        }
    

    算法三

    思路:双指针法
    时间复杂度:O(n)O(n)
    空间复杂度:O(1)O(1)

        //算法三:双指针法
        private static void del_x_3(int[] ints, int delete) {
            int lowIndex = 0;
            int fastIndex = 0;
    
            for (int anInt : ints) {
                if (anInt == delete) {
                    fastIndex++;//跳过delete
                } else {
                    ints[lowIndex++] = ints[fastIndex++];
                }
            }
            for (int i = lowIndex; i < ints.length; i++) {
                ints[i] = -1;
            }
        }
    
    展开全文
  • 已知长度为n的线性表采用顺序结构,设计...已知长度为n数组,设计算法,保证时间复杂度O(n),空间复杂度O(1)的算法,删除数组中元素值为item的数据元素。 #include<stdio.h> void Delete(int a[],in...

    已知长度为n的线性表采用顺序结构,设计算法,保证时间复杂度为O(n),空间复杂度为O(1)的算法,删除线性表中元素值为item的数据元素。

    从笔试转为机考----->

    已知长度为n的数组,设计算法,保证时间复杂度为O(n),空间复杂度为O(1)的算法,删除数组中元素值为item的数据元素。

    #include<stdio.h>
    
    void Delete(int a[],int *len,int item){
        int num=0;
        for(int i=0;i<*len;i++){
            if(a[i]==item)
                num++;
            a[i+1-num]=a[i+1];
        }
        *len=*len-num;
    }
    int main(void){
        int a[]={1,2,3,2,5,7,2,5,9,0};
        int len=sizeof(a)/sizeof(int);
        int item=2;
        Delete(a,&len,item);
        for(int i=0;i<len;i++){
            printf("%d ",a[i]);
        }
        return 0;
    }
    

     

    展开全文
  • 删除数组中下标为n元素

    千次阅读 2013-02-20 16:45:23
    无标题文档 ... if(n > arr.length-1 || n ){ alert('没有找到下标'+n+'的元素!'); return;}//如果n大于或小于指定数组的长度则返回 var arr1 = []; for(var i = 0; i ; i++) { if(i =
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    </head>
    
    <body>
    <script>
    function removeArrayOfN(arr,n)
    {
    	if(n > arr.length-1 || n < 0){ alert('没有找到下标为'+n+'的元素!'); return;}//如果n大于或小于指定数组的长度则返回
    		
    	var arr1 = [];
    	
    	for(var i = 0; i < arr.length; i++)
    	{
    		if(i == n){ continue}//如果删除的为第i个元素,跳出当前循环
    		arr1.push(arr[i]);//把下标不为n的元素添加到arr1
    	}
    	arr.length = 0;//将arr的长度设为零
    	
    	for(var i = 0; i < arr1.length; i++)
    	{
    		arr[i] = arr1[i]//重新给arr赋值
    	}
    
    	return arr;//返回传进的数组
    }
    window.onload = function()
    {
    	var arr = ['a','b','c','d'];
    	
    	alert(arr.length)
    	alert(removeArrayOfN(arr,3))
    	alert(arr.length)
    }
    </script>
    </body>
    </html>

    展开全文
  • 删除数组中下标为n元素(2)

    千次阅读 2013-02-21 10:07:07
    function remove(arr,index)//arrarray;0 { var iLen = arr.length; for(var i = 0; i ; i++) { if(i == index){ continue;} arr.push(arr[i]); } arr.splice(0,iLen); return arr; } window.onload = ...
  • 删除数组中的第N元素

    千次阅读 2012-09-10 16:17:42
    // 删除数组中n元素 function mgrQuestionBankQuestionSel_removeElementInArray(tempArray, n) { // tempArra表示原始数组 // n表示第几项,从0开始算起 if (n &lt; 0) // 如果n&lt;0,则不进行...
  • 实现数组删除所有的x元素 void DeleteAllX(SqList &l, int x){ int k=0; //记录数组中与x相等的元素的个数 for(int i=0; i<l.length; i++){ if(l.data[i] == x) k++; //如果当前元素等于x,则...
  • 在主函数定义一维数组int array[10],自定义以下函数:输入数组元素,输出数组元素、求数组元素平均、输出数组元素最大、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标)、给数组元素排序...
  • JAVA之删除数组中某个元素值

    万次阅读 2017-01-21 13:23:51
    JAVA之删除数组中某个元素值
  • 删除线性表中所有值为x的数组元素。 比如一串数字值为 1,2,3,2,4,5,2,6,2 删除值为2的元素 这个问题并不难但烦人的是要进行数据的覆盖!那么如果对从前往后的每个值为x的数进行覆盖 事情就会变成这样: 1 2 ...
  • JavaScript删除数组中指定元素

    万次阅读 2010-05-04 19:37:00
    /* 方法:Array.remove(dx) * 功能:删除数组元素. * 参数:dx删除元素的下标. * 返回:在原数组上修改数组 *///经常用的是通过遍历,重构数组.Array.prototype.remove=function(dx){ if(isNaN(dx)||dx>this.length){...
  • 创建一个长度16的整形数组a并初始化,删除数组中所有能被3整除的元素数组中实际有效使用的元素将不足16),输出删除数组中的全部元素。 /*烟台大学计算机学院 2016 作者: 马春澎 完成日期:2016年12月2日 */ ...
  • 删除重复数组索引 不重复元素的个数
  • // 编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素数组首端移动。 //注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。 // 输入时...
  • 用来测试数组的第一个元素,如果返回fasle,就从数组中抛出该元素(注意:此时数组已被改变),继续测试数组的第一个元素,如果返回fasle,继续抛出,直到返回true。最后返回数组的剩余部分,如果没有剩余,就返回一个...
  • java删除数组中的某一个元素的方法

    千次阅读 2020-04-05 11:21:03
    package org.company.project.test;...//删除数组中的某一个元素的方法: public class ArraysDelete { public static void main(String[] args) { //把最后一个元素替代指定的元素,然后数组缩容...
  • 题目:c语言,删除数组中指定的重复的元素
  • 思路:用一个新的数组来记录原数组中X的元素:边扫描边统计不X元素的个数,并将不等于X的元素依次复制到新的数组中去,最后统计的结果则为删除后新数组的长度。 #include<cstdio> #include<cstdlib...
  • 设计算法,在数组r[n]中删除所有元素值为x的元素,要求时间复杂度O(n),空间复杂度O(1)。 1、思路 我们遍历整个原数组,当原数组等于x时,我们跳过不进行处理,否则我们将该记录到新的数组中。这样我们遍历...
  • 大多数人的写法,从数组中取数据,放入新的数组,取完一个数据从原始数组中删除数据,在放入新数组的时候判断是否已出现过。 function getTenNum(n) { var reslut = []; var testArray = [1,2,3,4...
  • 如何删除数组中的一个元素

    万次阅读 2018-09-17 18:10:17
    第一种:删除数组中指定位置的元素:  方法一: import java.util.Arrays; import java.util.Scanner; public class test { public static void main(String[] args) { int []n=new int[] {1,2,3}; ...
  • 数组数组中去掉元素为0的数组 需求:定义一个整型数组,将数组中的0去掉后返回一个新数组。 例如:数组为 int[] arr={1,13,45,5,0,0,16,6,0,25,4,17,6,7,0,15}; 要求将以上数组中为0的元素去掉,将不0的存入...
  • package org.company.project.test; import java.util.Arrays; import java.util.Scanner; public class ArraysDelete { public...//删除数组中的某一个元素的方法: //把最后一个元素替代指定的元素,然后数组...
  • C语言删除数组中的0元素

    千次阅读 2020-06-18 23:09:36
    编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。 输入时首先读入数组...
  • 删除数组中的 0 元素

    千次阅读 2018-05-20 11:16:08
    问题描述: 删除数组中值 0 的所有元素,其他元素向前移动。输入格式: 第一行一个整数表示数组个数 n ,第二行 n 个数据,表示数组元素。输出格式: 第一行 m 个数组元素,第二行一个整数表示现在数组元素个数...
  • 删除数组中的指定元素

    千次阅读 2020-05-20 17:17:53
    文章目录删除数组中的指定元素一、记录等于x的元素个数二、记录不等于x的元素个数三、划分 删除数组中的指定元素 删除数组中的某一元素会导致改位置空缺,需要将后面的依次往前移动。如果每删除一个元素就移动一次,...
  • 1 #include&lt;iostream&gt;  2  3 using namespace std;  4  5 int main(int argc, char** argv) ... 7 int i , n , temp=0;...请输入数组大小";  9 cin&gt;&gt;n;  10  11 dou...
  • Java 删除数组中的0元素

    千次阅读 2019-01-24 17:41:26
    编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。  输入时首先读入...
  • 删除数组元素

    2019-12-11 14:13:15
    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 306,000
精华内容 122,400
关键字:

删除数组中所有值为n的元素