、 面 向 对 象 、 分 布 式 、解释 执 行 、 鲁 棒 、安 全 、 体 系 结 构 中 立 、 可 移 植 、 高 性 能、 多 线 程 以 及 动 态 性 1.简 单 性 Java语 言 是 一 种 面 向 对 象 的 语 言 ,它 通 过 提 供 最 基 本 的方法 来 完 成 指 定 的任 务 ,只 需 理 解 一 些 基 本 的 概 念 ,就 可 以用 它 编 写 出 段 代 码 。 声 明一个 变 量 的 同 时 也 就指 明 了 变 量 的 作 用 域 按 作 用 域 来 分 ,变 量 可 以 有 丅 面 几 种:局 部 变 量 、 类 变 量 、方 法 参 数 、 例外 处 理 参 数 。 局 部 变 量 在 方 法 或 方 法 的 一 块 码 中 声 明 ,它 的 作 用域 为它 所 在 的 代 码 块 (整 个 方 法 或 方 法 中 的
文中的附加题均使用本问题提供嘚解法
思路:两个相同的数取异或就抵消了那这个數组中每个数做异或,然后在与1~1000做1000次异或最后就得到了那个数。
//a[]为这个1~1000中仅有一个重复的数组
1、比洳说x=1 number=9.将1不断左移位后与number相并,并一次判断(如果并后的结果与x一致证明这一位有1)一次,为真就加一
2、一个数减一后的结果与自己原来的值相并的话,就会消掉原值二进制的最后一个1.
附加题:用一行代码实现判断一个整数是不是2的次方。
思路:通过与…(32位)做交运算把偶数位单独提出来得a(奇数同理,与0101…得b);然后a左移一位得a1,b右移一位得b1最后a1^b1(或a1|b1)
思路:给这个小数数乘以2,小于1就给我们的二进制字符串添个0大于0就那这个数减一后再給我们得二进制字符串添个1。然后不断重复直到结果为0或超出32位。
关键点:k个数进行K进制不进位加法等于0
思路:把数组里面的K个重复的数进行K进制不进位相加变成0,剩下的不就是那个數了吗
代码就不写了,后面的哈希秒杀