博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Single Number三连
阅读量:6423 次
发布时间:2019-06-23

本文共 1478 字,大约阅读时间需要 4 分钟。

hot3.png

single number I

Given an array of integers, every element appears twice except for one. Find that single one.

object Solution {    def singleNumber(nums: Array[Int]): Int = {        return nums.reduce(_^_);      }  }

single number II

Given an array of integers, every element appears three times except for one, which appears exactly once. Find that single one.

def singleNumber(nums: Array[Int]): Int = {    def loop(nums: Array[Int], len: Int, index: Int, a: Int, b: Int): Int = index match {      case `len` => b      case _ => loop(nums, len, index + 1, a ^ nums(index) & ~((b ^ nums(index)) & ~a), (b ^ nums(index)) & ~a)    }    loop(nums, nums.length , 0, 0, 0)  }

single number III

Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.

def singleNumber(nums: Array[Int]): Array[Int] = {    def loop(nums: Array[Int], len: Int, idx: Int, res: Int, dec: Int, a: Int, b: Int): Array[Int] = (idx, res) match {      case (`len`, 0) => Array(a ^ nums(idx), b)      case (`len`, _) => Array(a, b ^ nums(idx))      case (_, 0) => loop(nums, len, idx + 1, nums(idx + 1) & dec, dec, a ^ nums(idx), b)      case _ => loop(nums, len, idx + 1, nums(idx + 1) & dec, dec, a, b ^ nums(idx))    }    val diff = nums.reduce(_ ^ _)    val dec = diff & -diff    loop(nums, nums.length - 1, 0, nums(0) & dec, dec, 0, 0)  }

转载于:https://my.oschina.net/u/3696024/blog/1572119

你可能感兴趣的文章
《设计模式解析(第2版•修订版)》—第2章 2.2节什么是UML
查看>>
【健康医疗】4步完成数据分析报表,让医疗数据转化为生产力
查看>>
【直播】APP全量混淆和瘦身技术揭秘
查看>>
10个大坑,当你产品上架AppStore会遇到
查看>>
Linux_Rsync远程同步备份服务器
查看>>
【shell 脚本】两种登录方式
查看>>
UIScrollView视差模糊效果
查看>>
大数据计算新贵Spark在腾讯雅虎优酷成功应用解析
查看>>
字典树(Trie tree)
查看>>
2013编程之美全国挑战赛第一场-传话游戏
查看>>
测试之新生入学系统,多一份收获
查看>>
无锁和无等待的定义和例子
查看>>
linux中c语言errno的使用
查看>>
【Mongo】uploadify插件帮助实现批量上传
查看>>
SpriteBuilder&Cocos2D使用CCEffect特效实现天黑天亮过度效果
查看>>
04-Windows频繁打开和关闭端口可能引发的问题 | 07.杂项
查看>>
hibernate总结-映射
查看>>
【SSH项目实战】国税协同平台-5.头像上传功能
查看>>
【云栖大会】青磁:从金融上云到云上金融
查看>>
如何在 ASP.NET 4.6 与 IIS10 中运用 HTTP/2 ?
查看>>