Singal Num(一)

题目描述

  给定一个数组,除了一个数出现1次之外,其余数都出现2次。找出出现一次的数。

  如:{1, 2, 1, 2, 1, 2, 7}, 找出7。

输入描述

  第一行输入一个数 n,代表数组的长度,接下来一行输入 n 个整数,表示数组 A[n]。

输出描述

  输出只出现一次的数。

输入样例

4
0 0 5 5 7

输出样例

7 

题目分析

  把数组中所有的数字都异或起来,则每对相同的数字都会得0,然后最后剩下来的数字就是那个只有1次的数字。

测试代码

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3
 4 int main(void)
 5 {
 6     int n, i, *arr;
 7
 8     scanf("%d", &n);
 9     arr = (int *)malloc(n * sizeof(int));
10     scanf("%d", arr);
11     for(i = 1; i < n; i++)
12     {
13         scanf("%d", arr + i);
14         arr[0] ^= arr[i];
15     }
16     printf("%d\n", arr[0]);
17
18     free(arr);
19     return 0;
20 }
时间: 2024-10-10 14:53:52

Singal Num(一)的相关文章

查询一个值出现的次数大于num,并统计次数,

SELECT COUNT( 要统计次数的字段) FROM 表 GROUP BY 要统计字段 HAVING COUNT(要统计字段) > num 查询下单次数超过50次商品 SELECT goods_id, goods_name,COUNT(goods_id) FROM tp_order_goods GROUP BY goods_id HAVING COUNT(goods_id) > 50

num 26

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with constant memory. For example,Given input array nums 

自定义属性 num

在input里面增加自定义属性  num,然后获得它的值,点击弹出 依次 ABCD <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <h

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中。例如123放在num[0]中,456放在num[1]中……统计共有多少个整数,并输出这些数。

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中.例如123放在num[0]中,456放在num[1]中--统计共有多少个整数,并输出这些数. #include <stdio.h> int main(){ void search(char * parr, int * pnum); char arr[100],* parr; int num[30],* pnum; parr=arr;

从头开始学算法--NUM operation in MIX

从前往后,按照课本顺序刚刚看到MIX这部分.NUM是一个转换操作符,可以把字符编码转换为数字.它把registerA & registerX的值转换为数字并赋值给registerA.转换过程是逐byte: 00,10,20,30,40,...的字符转换为数字0:01,11,21,31,41,...的字符转换为数字1:02,12,22,32,42,...的字符转换为数字2:以此类推.如果有溢出的话,registerA = value mod b^5,b是一个byte的大小. //---------

【LeetCode】two num 利用comparable接口 对对象进行排序

题目two num 题意:给定一个整数数组和一个目标值,要求在数组中找到两个数,使得它们的和相加等于目标值,并且返回两个数的下标 思路:1.如果使用暴力,时间复杂度为O(n^2) 2.可以先将所有数进行排序,从最大值和最小值开始匹配再根据和目标值的比较移动,知道找到结果,时间复杂度为O(nlog(n)) 知识点:comparable 接口的使用,利用其进行对象的自然排序,相关文章 public class Solution { static class Node implements Compa

Ubuntu被远程后Num Lock键不停闪临时解决办法

Ubuntu被远程后Num Lock键不停闪临时解决办法: 方法一: 在远程之前先让其关掉自己的Num Lock键 方法二: 关闭Num Lock键 点击System Settings-Keyboard Layout-Options-Use keyboard LED to show alternative layout-选中Num Lock-Close Ubuntu被远程后Num Lock键不停闪临时解决办法,布布扣,bubuko.com

【队列】最大值减去最小值小于等于num的子数组数量

摘自<程序员代码面试指南> 题目: 给定数组 arr 和整数 num, 共返回有多少个?数组满?如下情况:max(arr[i...j]) - min(arr[i...j]) <= nummax(arr[i...j])表示?数组 arr[i...j]中的最?值,min(arr[i...j])表示?数组arr[i...j]中的最小值. 题解: 区间最大最小值,立刻联想到单调栈(双端队列),不过稍微麻烦一些,需要在此基础上总结一些规律. 如果?数组 arr[i..j]满?条件, 即 max(a

给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数。

1 package digitAddTogither; 2 3 /** 4 * Created by ZKY on 2017-08-15 01:00. 5 * 给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数. 6 * 样例 7 * 给出 num = 38. 8 * 相加的过程如下:3 + 8 = 11, 9 * 1 + 1 = 2. 10 * 因为 2 只剩下一个数字,所以返回 2. 11 */ 12 public class DoMain 13 { 14 /**