文档章节

645. Set Mismatch - LeetCode

yysue
 yysue
发布于 06/22 23:06
字数 294
阅读 9
收藏 0

Question

645. Set Mismatch

Solution

思路:

遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果res中,然后再遍历原数组,如果某个位置上的数字为正数,说明该位置对应的数字没有出现过,加入res中即可

Java实现:

public int[] findErrorNums(int[] nums) {
    /*
        int a = 0;
        for (int i : nums) {
            if (nums[i-1] < 0) a = nums[i-1] * -1;
            nums[i-1] *= -1;
        }

        int b = 0;
        for (int i : nums) {
            if (nums[i-1] > 0 && nums[i-1] != a) {
                b = nums[i-1];
                break;
            }
        }
        return new int[]{a, b};
        */
    int[] res = new int[2];
    for (int i : nums) {
        if (nums[Math.abs(i) - 1] < 0) res[0] = Math.abs(i);
        else nums[Math.abs(i) - 1] *= -1;
    }
    for (int i=0;i<nums.length;i++) {
        if (nums[i] > 0) res[1] = i+1;
    }
    return res;
}

© 著作权归作者所有

共有 人打赏支持
yysue
粉丝 25
博文 253
码字总数 148714
作品 0
济南
程序员
加载中

评论(1)

yysue
yysue
public int[] findErrorNums(int[] nums) {
int a = 0;
for (int num : nums) {
num = num > 0 ? num : -num;
if (nums[num - 1] < 0) a = nums[num - 1] * -1;
else nums[num - 1] *= -1;
}
Leetcode 645. Set Mismatch

文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 1. Description 2. Solution Version 1 Version 2 Reference https://leetcode.com/problems/set-mismatch/description/......

SnailTyan
08/30
0
0
VirtualBox快速休眠导致的错误

今天早上在VirtualBox打开虚拟机,惊奇打发现,打开出现错误。尼玛,昨晚关机的时候还好好的呢!!!(提示错误如下) Cannot load R0 module C:Program FilesOracleVirtualBox/VBoxDD2R0.r0: SUP...

mjrao
2015/09/05
461
0
mongodb ,update方法无效,请教高手!

我的数据里有 { "id" : ObjectId("509b645910ade1be6c000012"), "name" : "aaa", "age" : "21" } { "id" : ObjectId("509b645910ade1be6c000013"), "name" : "bbb", "age" : "20" } { "id" :......

zhangyuting
2012/11/08
881
1
gdb core文件函数出现问号

原创地址 http://blog.csdn.net/yudingding6197/article/details/5528989 我的程序crash,有了coredump文件,在Linux PC上用arm-linux-gdb debug it. The result is: #0 0x4022b178 in ?? ()......

miffa
2015/04/16
0
0
Leetcode日记6

(2015/11/28) LeetCode 303 Range Sum Query - Immutable:(Easy) 1)超时的算法:每次调用sumRange函数进行一次累加运算。 2)不超时的算法:改变数组的内容,存储从0下标到当前下标所有...

fxdhdu
2015/11/28
73
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
28分钟前
2
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
32分钟前
1
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
34分钟前
1
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
40分钟前
1
0
使用xtrabackup完成远程备份

转载收藏,以防丢失 需求 Can I backup remote databases from my local server02-27-2013, 06:17 AMHi, I am using mysqldump so far for taking daily backups of my Production datab......

阿dai
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部