java - 迭代一个数组直到提供的长度以及找到它覆盖的计数元素,如果它不止一次,则忽略相同的元素
问题描述
我有一个名为 的方法m1(int input1,int input2,int[] input3)
,它具有三个参数。将在input1
相同的元素中定义的任何值都应包含在中,input3[]
即长度input3
将与 的值相同input1
。无论在 中定义什么值input2
,迭代都将在 int 中完成,input3
直到该长度。它必须给计数它迭代了多少元素,但如果相同的数字重复,那么计数值将不会增加。第一次计数会增加,但是一旦相同的没有重复,那么计数保持不变,当它得到不同的元素时,计数会增加,但迭代将完成,直到提到的长度input2
。
例子:
int input1 =5;
int input2= 3;
int[] input3 ={1,2,1,3,4};
预期:所以这里 input1 是 5,所以 input3 的长度也是 5。这里 input2 的值是 3,所以在迭代 input3 时它必须迭代到第二个索引,即直到长度为 3。所以这里迭代将完成直到 { 1,2,1} 并且计数必须为 2,因为 1 重复了 2 次。
解决方案
如果您使用的语言具有像 C++ 集这样的独特容器,这可能是实现此目的的一种方法。否则,您可以将每个值放在一个临时数组中,并使用 if 语句(使用小型搜索算法)检查它是否尚未添加。然后只需返回该新数组的大小。
推荐阅读
- oracle-apex - 如何使用经典/IR 报告@oracle apex 中的复选框仅下载选定的记录
- algorithm - 具有未使用边的循环检测无向图
- python - 如何在python中的全局关键字之后访问局部变量
- postgresql - 一步更新外键链接表
- aws-lambda - 是否可以使用 Serverless 在两个区域部署 API Gateway 和 Lambda?
- windows - windows server 2012 中 laravel APP QUEUE 的权限问题
- jquery - 为什么这个带有 flatpickr 的 jQuery 不起作用?(动态添加/删除日期时间字段)
- genexus - 我想从网络面板直接通过开发者菜单访问交易(
- apache-kafka - 如果我有一个 kafka 服务器运行我可以拥有多少个主题的复制因子?
- c++ - 如何将 int[4] 转换为 std::array
?