auto commit

This commit is contained in:
CyC2018
2021-03-23 02:48:19 +08:00
parent 6027156d73
commit 156f7a67f4
15 changed files with 98 additions and 70 deletions

View File

@ -2,7 +2,7 @@
## 题目链接
[牛客网](https://www.nowcoder.com/practice/e02fdb54d7524710a7d664d082bb7811?tpId=13&tqId=11193&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking&from=cyc_github)
[牛客网](https://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8?tpId=13&tqId=11193&tab=answerKey&from=cyc_github)
## 题目描述
@ -19,16 +19,27 @@
下面的解法中num1 num2 数组的第一个元素是用来保持返回值的... 实际开发中不推荐这种返回值的方式
```java
public void FindNumsAppearOnce(int[] nums, int num1[], int num2[]) {
public int[] FindNumsAppearOnce (int[] nums) {
int[] res = new int[2];
int diff = 0;
for (int num : nums)
diff ^= num;
diff &= -diff;
for (int num : nums) {
if ((num & diff) == 0)
num1[0] ^= num;
res[0] ^= num;
else
num2[0] ^= num;
res[1] ^= num;
}
if (res[0] > res[1]) {
swap(res);
}
return res;
}
private void swap(int[] nums) {
int t = nums[0];
nums[0] = nums[1];
nums[1] = t;
}
```