面试题:统计一个数组中不重复出现的元素个数

简介: 假设是一个整数数组,事先已经按照升序或者降序拍好次序,但是数组中的若干元素重复出现。给出代码要求统计该数组中不重复出现的元素个数。

假设是一个整数数组,事先已经按照升序或者降序拍好次序,但是数组中的若干元素重复出现。给出代码要求统计该数组中不重复出现的元素个数。例如整数数组:

int[] array=new int[]{1,1,1,1,2,3};

正确的计算结果应该为:3。因为前四个元素均为“1”,计数则只算为一个不重复出现的元素。

给出完整代码(Java实现):

public class Test {

	public int count(int[] array) {
		int len = array.length;

		for (int i = 0; i < array.length - 1; i++) {
			for (int j = i + 1; j < array.length; j++) {
				int num = array[i];
				if (array[j] == num) {
					// 重复,数组总长度减1
					len--;

					i++;
				}
			}
		}

		return len;
	}

	public static void main(String[] args) {
		// 测试数据:总共是9个不同的元素,按照升序排好,其中有重复出现的元素。
		int[] array = new int[] { 1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 9 };

		System.out.println(new Test().count(array));
	}
}





相关文章
|
2月前
|
存储 缓存 NoSQL
希音面试:亿级用户 日活 月活,如何统计?(史上最强 HyperLogLog 解读)
本文详细介绍了如何使用Redis的各种数据结构(如Set、Bitmap、HyperLogLog)来统计网站的日活(DAU)和月活(MAU)用户数。作者通过实际案例和代码示例,系统地讲解了这些数据结构的原理和应用场景,特别是HyperLogLog在处理亿级用户数据时的优势。文章还深入解析了HyperLogLog的数学原理和底层数据结构,帮助读者更好地理解和应用这一高效的数据统计工具。此外,文章还提供了多个相关面试题和参考资料,适合准备面试的技术人员阅读。
|
3月前
|
Kubernetes 架构师 算法
阿里面试:全国14亿人,统计出重名最多的前100个姓名
文章介绍了如何解决“从全国14亿人的数据中统计出重名人数最多的前100位姓名”的面试题,详细分析了多种数据结构的优缺点,最终推荐使用前缀树(Trie)+小顶堆的组合。文章还提供了具体的Java代码实现,并讨论了在内存受限情况下的解决方案,强调了TOP N问题的典型解题思路。最后,鼓励读者通过系统化学习《尼恩Java面试宝典》提升面试技巧。
阿里面试:全国14亿人,统计出重名最多的前100个姓名
|
5月前
|
C语言
【Amazon 面试题1】一个数组,里面得数出现的次数是偶数次,只有一个数出现的次数是奇数次,找出那个出现奇数次的数
本文介绍了解决Amazon面试题的一种方法,即在一个所有数字出现次数都是偶数,除了一个数字出现奇数次的数组中,利用异或运算的性质找出出现奇数次的数字,并提供了C语言实现的代码示例。
79 1
|
5月前
|
Java
Java 基础语法-面试题(54-63道)(数组+类+包)
Java 基础语法-面试题(54-63道)(数组+类+包)
52 16
|
5月前
|
Python
【面试题解答】一个有序数组 nums ,原地删除重复出现的元素
【面试题解答】一个有序数组 nums ,原地删除重复出现的元素
50 0
|
8月前
|
SQL 分布式计算 算法
2024年最新【Python】列表元素的 删除 操作(remove()、pop()、切片,2024年最新Python社招面试题
2024年最新【Python】列表元素的 删除 操作(remove()、pop()、切片,2024年最新Python社招面试题
2024年最新【Python】列表元素的 删除 操作(remove()、pop()、切片,2024年最新Python社招面试题
|
6月前
|
存储 算法
经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
|
7月前
|
开发框架 .NET
技术好文共享:面试题:找出数组中只出现一次的2个数(异或的巧妙应用)(出现3次)
技术好文共享:面试题:找出数组中只出现一次的2个数(异或的巧妙应用)(出现3次)
|
7月前
|
存储 SQL 算法
LeetCode 83题:删除排序链表中的重复元素【面试】
LeetCode 83题:删除排序链表中的重复元素【面试】
|
7月前
|
数据采集 算法 数据挖掘
LeetCode 题目 80:删除排序数组中的重复项 II【算法面试高频题】
LeetCode 题目 80:删除排序数组中的重复项 II【算法面试高频题】

热门文章

最新文章