剑指offer计划22( 位运算中等)—java

1.1、题目1

剑指 Offer 56 – I. 数组中数字出现的次数

1.2、解法

救命,真不会用位运算,还是用哈希表做吧,位运算过段时间再学习~~~
搞不来,虽然说哈希表时间和内存消耗确实高。。。。。
这里用Entry提出来遍历哈希表。取值放数组。

1.3、代码


class Solution {
    public int[] singleNumbers(int[] nums) {
        int []res = new int[2];
        int j=0;
        HashMap map = new LinkedHashMap();
        for(int i = 0; i < nums.length ; ++i){
            map.put(nums[i],map.getOrDefault(nums[i],0)+1);
        }
        for(Map.Entry entry:map.entrySet() ){
            if(entry.getValue() == 1){
                res[j]=entry.getKey();
                j++;
            }
        }
        return res;
    }
}

2.1、题目2

剑指 Offer 56 – II. 数组中数字出现的次数 II

2.2、解法

用了跟上面那题一样的解法,位运算想学你们就去看题解吧,我懒得copy过来,我也不太懂

2.3、代码


class Solution {
   public int singleNumber(int[] nums) {
        Map map = new HashMap();

        for(int i = nums.length - 1; i >= 0; --i){
            int key = nums[i];
            map.put(key, map.getOrDefault(key, 0) + 1);
        }

        for(Map.Entry entry: map.entrySet()){
            if(entry.getValue() == 1){
                return entry.getKey();
            }
        }

        return -1;
    }

}

Original: https://www.cnblogs.com/cxykhaos/p/15318644.html
Author: 程序员khaos
Title: 剑指offer计划22( 位运算中等)—java

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598470/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Tomcat 介绍及使用教程

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 1. Tomcat 介绍 Apache Tomcat 是由 Apache Software Foundation(ASF)开发的…

    Linux 2023年5月27日
    079
  • 搭建Redis三主三从集群

    Redis三主三从集群规划 10.0.128.19 使用端口 7000 700110.0.128.22 使用端口 7002 700310.0.128.23 使用端口 7004 70…

    Linux 2023年6月8日
    0113
  • bochs(2.6.11)配置安装

    下载:https://bochs.sourceforge.io/ 建议下载2.6.11,下文一开始安装的2.7,但运行时有无法解决的错误。但是大致安装过程一致。 linux 提前安…

    Linux 2023年5月27日
    0138
  • 在c/c++中输入彩色日志输出,带有带有颜色的打印

    在c/c++中输入彩色日志输出,带有带有颜色的打印 #ifndef __PTINTCOLOR_H #define __PTINTCOLOR_H #include #ifndef L…

    Linux 2023年6月14日
    0136
  • 记一次因网络变更导致zabbix连接es报400和404

    背景 zabbix历史数据存储到es集群,正常工作中的时候,因网络变更导致zabbix server连接不上es,zabbix日志首先报400错误,之后一直404,es那边报查询相…

    Linux 2023年6月7日
    0111
  • python获取Windows硬件特征信息

    1.python pip安装WMI 并用pyinstaller编译出device_chk.exe 参考内容:https://blog.csdn.net/fengmm521/arti…

    Linux 2023年6月7日
    095
  • 【Linux进程间通信】共享内存的使用

    背景 最近需要开发一个测试程序,接受Tester端的测试指令,执行一条条外设的测试用例,执行完成后将测试数据的结果上报,上报方式未定,考虑到耦合和配套问题,决定采用共享内存机制,设…

    Linux 2023年6月13日
    0104
  • 访问github 与 mac修改hosts并刷新DNS

    加速githubhttps://ipaddress.com/website/github.global.ssl.fastly.nethttps://ipaddress.com/we…

    Linux 2023年6月8日
    0117
  • Linux C/C++ 获取进程号、线程号和设置线程名

    在Linux开发过程中,设计多线程开发时可以将进程和线程的 id 打印出来,方便开发调试和后期查问题使用,同时也包括设置线程名。 2.1 进程ID #include <uni…

    Linux 2023年6月7日
    0133
  • 位图实现

    位图就是用每个字节中的bit位代表一组资源的映射。 例如:一个字节有8位,在操作系统中可以用一个bit位代表一个4K的页,那一个字节就可以代表8页32K内存。 可以利用位图进行资源…

    Linux 2023年6月7日
    089
  • JVM 配置参数 -D,-X,-XX 的区别

    转载请注明出处: 最近在安全护网行动,需要针对服务进行不断的安全加固,如 对服务的 log4j 的安全配置进行防护,对 fastjson 的漏洞进行安全加固等,最快的防护方法就是通…

    Linux 2023年6月14日
    0107
  • @EnableFeignClients注解源码解析

    转载请注明出处: @EnableFeignClients 注解定义的源码 这个注解通过@Import注解导入一个配置类FeignClientsRegistrar.class ;Fe…

    Linux 2023年6月14日
    0100
  • 每周一个linux命令(ip)

    基础环境 Ip命令介绍 ip命令是一个能够给linux系统设置网络相关信息的命令,通过ip命令可以设置ip地址、子网掩码、网关、路由信息,本节主要讲解ip地址的查看、临时ip地址、…

    Linux 2023年6月8日
    0116
  • CentOS7 源码安装Nginx及Nginx基本管理设置

    CentOS7 安装 参考文档 CentOS7最小安装后初始化安装工具 1:yum install net-tools 参考文档 2:源码安装wget 参考文档 或者执行 yum …

    Linux 2023年5月27日
    0122
  • 巧妙绕过 “您的链接不是私密链接”

    大家上网的时候,有时候会碰到Chrome提示”您的链接不是私密链接”, 运气好的话,点击高级,有一个选项是”继续浏览不安全的网页”,…

    Linux 2023年6月13日
    0129
  • PHP代码审计_用==与===的区别

    背景介绍 如何审计 绕过案例1 绕过案例2 背景介绍 比较 ==与 ===的差别 == 是等于符号,=== 是恒等于符号,两个符号的功能都是用来比较两个变量是否相等的,只不过两个符…

    Linux 2023年6月6日
    0115
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球