计蒜客 挑战难题 移除数组中的重复元素

给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度。

例如:

数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2}

要求:

不能新开数组分配额外的空间。即常数空间限制。

提示:

输入一个整数n,以及其对应的数组A[n],输出新数组长度

样例输入

5
0 0 1 1 2

样例输出

3

=========================第一次code:
 1 import java.util.ArrayList;
 2 import java.util.List;
 3 import java.util.Scanner;
 4
 5 public class Main
 6 {
 7 public static void main(String[] args)
 8     {
 9         Scanner input = new Scanner(System.in);
10         int n = input.nextInt();
11         List<Integer>list = new ArrayList<Integer>();
12         for(int i=0;i<n;i++)
13         {
14             list.add(input.nextInt());
15         }
16         System.out.println(run(n,list));
17     }
18     public static int run(int n,List list)
19     {
20         for(int i=0;i<list.size();i++)
21         {
22             for(int j=0;j<i;j++)
23             {
24                 if(list.get(i)==list.get(j))
25                 {
26                     list.remove(i);
27                     i--;
28                 }
29             }
30         }
31         return list.size();
32     }
33 }

结果:


============================================第二次code:
 1 import java.util.Scanner;
 2
 3 public class Main
 4 {
 5     public static void main(String[] args)
 6     {
 7         Scanner input = new Scanner(System.in);
 8         int n = input.nextInt();
 9         int [] a = new int[n];
10         for(int i=0;i<n;i++)
11         {
12             a[i]=input.nextInt();
13         }
14         System.out.println(run(n,a));
15     }
16     public static int run(int n,int []a)
17     {
18         for (int i = 0; i < a.length-1; i++)
19         {
20             if (a[i] == a[i + 1])
21             {
22                 n--;
23             }
24         }
25         return n;
26     }
27 }
 
时间: 2024-10-29 19:11:11

计蒜客 挑战难题 移除数组中的重复元素的相关文章

计蒜客 移除数组中的重复元素

移除数组中的重复元素 给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度. 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间.即常数空间限制. 提示: 输入一个整数n,以及其对应的数组A[n],输出新数组长度 样例输入 5 0 0 1 1 2 样例输出 3 1 #include<iostream> 2 #include<vector> 3 #define MAX 100000 4 using names

第11题:移除数组中的重复元素

/* 前几天去爬泰山了,一直没更新,上山时还没什么感觉,下山后简直要崩溃啊,骨头都散了,继续更新...... */ 第11题:移除数组中的重复元素 给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度. 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间.即常数空间限制. 提示: 输入一个整数n,以及其对应的数组A[n],输出新数组长度 样例输入 5 0 0 1 1 2 样例输出 3 解析: #include <stdi

计蒜客 挑战难题 寻找插入位置

给定一个已经升序排好序的数组,以及一个数 targettargettarget,如果 targettargettarget 在数组中,返回它在数组中的位置. 否则,返回 targettargettarget 插入数组后它应该在的位置. 假设数组中没有重复的数.以下是简单的示例: [1,3,5,6], 5 → 2 [1,3,5,6], 2 → 1 [1,3,5,6], 7 → 4 [1,3,5,6], 0 → 0 输入格式 第一行输入一个整数 nnn. 第二行输入 nnn 个整数,表示数组A[n]

计蒜客 挑战难题 元素移除

给定一个数组和一个数(该数不一定在数组中),从数组里删掉这个数字,返回剩下的数组长度. 如:A[] = {1, 2, 3, 4, 5}, 要删除数字3, 那么返回数组长度为4. 亲爱的小伙伴们,题目是不是很简单呢? 提示: int removeElement(int A[], int n, int elem) 其中,n代表数组长度,elem代表要删掉的元素. 格式: 输入一个数n,继而输入一个数组A[n],接着输入要删除的元素elem,返回剩余数组长度index. ===============

计蒜客 移除数组中的重复元素 (双指针扫描)

给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度. 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间.即常数空间限制. 提示: 输入一个整数n,以及其对应的数组A[n],输出新数组长度 样例输入 5 0 0 1 1 2 样例输出 3 1 #include <iostream> 2 using namespace std; 3 int main(){ 4 int n, ans; 5 cin >> n;

移除数组中的重复元素

给定一个升序排列的数组,去掉重复的数,并输出新的数组的长度. 例如:数组 A={1,1,2},你的程序应该输出 222 即新数组的长度,新数组为 {1,2}. 要求:不能新开数组分配额外的空间,即常数空间限制. 输入格式 输入一个整数 n(1≤n≤1000). 接下来一行 nnn 个整数 Ai(?1000≤Ai≤1000),表示数组 A 中的每个元素. 输出格式 输出一个整数,表示新数组长度. 样例输入 5 0 0 1 1 2 样例输出 3 Python的数组真心的不方便,慢慢适应吧.

JSK 11: 移除数组中的重复元素

题目描述 给定一个升序排列的数组,去掉重复的数,并输出新的数组的长度. 例如:数组 $A = \{1, 1, 2\}$,你的程序应该输出 $2$ 即新数组的长度,新数组为 $\{1, 2\}$. 要求:不能新开数组分配额外的空间,即常数空间限制. 输入 输入一个整数 $n(1 \leq n \leq 1000)$. 接下来一行 $n$ 个整数 $A_i(-1000 \leq A_i \leq 1000)$,表示数组 $A$ 中的每个元素. 输出 输出一个整数,表示新数组长度. 样例输入 5 0

计蒜客 挑战难题 爬楼梯

假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输出你的方法总数. 样例输入 5 样例输出 8==========================第一次code: 1 import java.util.Scanner; 2 3 public class Main 4 { 5 public static void main(String[] args) 6 { 7 Scanner

计蒜客 挑战难题 整数转换成罗马数字

给定一个整数num,( 1<=num<=3999),将整数转换成罗马数字. 如1,2,3,4,5对应的罗马数字分别位I,II,III,IV,V等. 格式: 第一行输入一个整数,接下来输出对应的罗马数字. 提示: 罗马数字的常识见此链接,对做题有帮助哦-尤其是表示方法. http://baike.baidu.com/link?url=injU8M4bAoc2zRZQ1GtgrfvuzCJO9PLnq6fpQGJLenakbzo-rS8p-qsYHR_81-aN 样例输入 123 样例输出 CXX