今天看到一位大神的博客,深受感触.决定也发一篇博客,证明一下我还活着. 于是我翻看以前学习时做的一些笔记,整理了一下,得到了一个关于异或运算交换变量变量值的笔记. 首先来看下面三组表达式,看起来他们都能实现交换两个变量的值. a = a ^ b; b = a ^ b; a = a ^ b; a = a ^ (b = b ^ (a = a ^ b)); a ^= b ^= a ^= b; 可实际的情况是,前面2组表达式,在C.C++.Java中都能顺利完成变量值的交换.而第3组表达式,却只在C.C
话说为啥FEC需要异或( ^/⊕ )操作呢? 异或:xor 异或运算规则: 0 xor 0 = 0 0 xor 1 = 1 1 xor 0 = 1 1 xor 1 = 0 异或运算特性: 1). a xor a = 0 2). a xor 0 = a 3). (a xor b) xor c = a xor (b xor c) 4). IF a xor b = c THEN a xor c = b 异或的运算特性有两点很好的应用 查找 case 1: 一个数组,除了其中一个元素,其他元素都为
题目要求 Given an array of integers, every element appears twice except for one. Find that single one. Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? 一个int数组中,除了有一个int只出现了一次,其他int都出现了两次,请找出
find your present (2) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 21862 Accepted Submission(s): 8634 Problem Description In the new year party, everybody will get a "special present".Now
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array. For example,Given nums = [0, 1, 3] return 2. Note:Your algorithm should run in linear runtime complexity. Could you implement it usi