Mushroom Notes Mushroom Notes
🍄首页
  • JavaSE

    • 基础篇
    • 数据结构
    • IO流
    • Stream流
    • 函数式接口
    • JUC
    • 反射
    • 网络编程
    • 设计模式
  • JavaEE

    • Servlet
    • JDBC
    • 会话技术
    • 过滤器监听器
    • 三层架构
  • JDK

    • 总览
  • JVM

    • 总览
  • 常用mate
  • CSS
  • JavaScript
  • rds 数据库

    • MySQL
    • MySQL 进阶
    • MySQL 库表规范
  • nosql 数据库

    • Redis
    • Redis 进阶
    • Redis 底层
    • MongoDB
  • Spring生态

    • Spring
    • Spring MVC
    • Spring boot
    • Spring Validation
  • Spring Cloud生态

    • Spring Cloud
    • 服务治理
    • 远程调用
    • 网关路由
    • 服务保护
    • 分布式事务
    • 消息中间件
  • 数据库

    • Mybatis
    • Mybatis Plus
    • Elasticsearch
    • Redisson
  • 通信

    • Netty
📚技术
  • 方案专题
  • 算法专题
  • BUG专题
  • 安装专题
  • 网安专题
  • 面试专题
  • 常用网站
  • 后端常用
  • 前端常用
  • 分类
  • 标签
  • 归档

kinoko

一位兴趣使然的热心码农
🍄首页
  • JavaSE

    • 基础篇
    • 数据结构
    • IO流
    • Stream流
    • 函数式接口
    • JUC
    • 反射
    • 网络编程
    • 设计模式
  • JavaEE

    • Servlet
    • JDBC
    • 会话技术
    • 过滤器监听器
    • 三层架构
  • JDK

    • 总览
  • JVM

    • 总览
  • 常用mate
  • CSS
  • JavaScript
  • rds 数据库

    • MySQL
    • MySQL 进阶
    • MySQL 库表规范
  • nosql 数据库

    • Redis
    • Redis 进阶
    • Redis 底层
    • MongoDB
  • Spring生态

    • Spring
    • Spring MVC
    • Spring boot
    • Spring Validation
  • Spring Cloud生态

    • Spring Cloud
    • 服务治理
    • 远程调用
    • 网关路由
    • 服务保护
    • 分布式事务
    • 消息中间件
  • 数据库

    • Mybatis
    • Mybatis Plus
    • Elasticsearch
    • Redisson
  • 通信

    • Netty
📚技术
  • 方案专题
  • 算法专题
  • BUG专题
  • 安装专题
  • 网安专题
  • 面试专题
  • 常用网站
  • 后端常用
  • 前端常用
  • 分类
  • 标签
  • 归档
  • 方案专题

  • 算法专题

    • 二分查找
    • 第一个错误的版本
    • 有序数组的平方
    • 轮转数组
    • 移动零
    • 两数之和 - 输入有序数组
    • 翻转数组
    • 冒泡排序
    • 选择排序
    • 打印随机数、不重复
    • 验证码生成
    • 找零问题 - 全打印
    • 记录元素在数组中出现的次数
    • 反转字符串中的单词
    • 最长回文串
  • BUG专题

  • 安装专题

  • 网安专题

  • 面试专题

  • 专题
  • 算法专题
kinoko
2023-12-19

记录元素在数组中出现的次数

需求

定义一个方法传入一个int类型数组,输出这个数组中只出现一次的数字及个数

示例

传入数组[1,2,2,2,3,3,4,4,4,4]  
打印结果:
		数字1出现了1次
		数字2出现了3次…
1
2
3
4

思路

创建两个新数组,分别存放元素种类以及出现次数,通过循环嵌套在遍历原数组的同时,遍历元素数组,如果存在则计数数组对应元素自增,反之添加新元素到元素数组。

如:原数组[1,2,2,2,3,3,4,4,4,4] ele数组[1,2,3,4] count数组[1,3,2,4]

代码

public static void method(int[] arr){
        int[] ele=new int[arr.length];//记录出现的元素
        ele[0]=arr[0];//因为需要作为遍历条件参与,所以必须先放入一个元素
        int index=1;//记录ele中的元素数量

        int[] count=new int[arr.length];//记录元素出现次数
        count[0]=1;//因为元素数组已经存放了一个元素,所以初始值为1

        for (int i = 1; i < arr.length; i++) {
            int element=arr[i];
            //查找element元素在ele数组中是否存在,默认为不存在
            boolean isFind=false;
            //遍历ele数组
            for (int j=0;j<index;j++){
                if (ele[j]==element){
                    isFind=true;//表示找到
                    count[j]++;//次数加一
                }
            }
            //如果不存在则存入ele数组中,并设置计数为1
            if(!isFind){
                ele[index]=element;
                count[index++]=1;
            }
        }
        for (int i=0;i<index;i++){
            System.out.println("数字"+ele[i]+"出现了"+count[i]+"次");
        }
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#算法
上次更新: 2023/12/29 11:32:56
找零问题 - 全打印
反转字符串中的单词

← 找零问题 - 全打印 反转字符串中的单词→

最近更新
01
JVM 底层
09-13
02
JVM 理论
09-13
03
JVM 应用
09-13
更多文章>
Theme by Vdoing | Copyright © 2022-2024 kinoko | MIT License | 粤ICP备2024165634号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式