网站首页 > 技术文章 正文
需求描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现2次。找出那个只出现过一次的元素。
说明:你的算法应该具有线性时间复杂度。你可以不使用额外的空间来实现吗?
解析思路一:
int singleNumber(int* nums, int numsSize)
{
int n = nums[0];
int i = 0;
for(i = 1;i < numsSize;i ++){
n = n ^ nums[i];
}
return n;
}
解析思路二:
int compFunc(void* a, void* b)
{
int* node1 = (int*)a;
int* node2 = (int*)b;
return (*node1 - *node2);
}
int singleNumber(int* nums, int numsSize)
{
int result,i;
qsort(nums, numsSize, sizeof(int), compFunc);//快速排序函数
result = nums[0];
for (i = 1; i < numsSize; i++)
{
if (result != nums[i])break;
i++;
result = nums[i];
}
return result;
}
猜你喜欢
- 2024-11-21 Python短文,简单的了解下算术表达式和数字变量(三)
- 2024-11-21 鼎阳科技:发布SDS7000A系列高分辨率数字示波器、SFA8001数字示波器前端放大器专用芯片等新品
- 2024-11-21 你认为前端开发的难点有哪些?
- 2024-11-21 虚拟仿真和数字孪生可不是回事,看看数字孪生的效果就知道。
- 2024-11-21 Java实现BP神经网络MNIST手写数字识别
- 2024-11-21 LeetCode找到所有数组中消失的数字
- 2024-11-21 SSL证书中的“密钥用法”和“增强密钥用法”
- 2024-11-21 JS短文:如何将数字转换为百分比?
- 2024-11-21 移动端 Vue 数字密码键盘组件Numeric-Keyboard
- 2024-11-21 数字孪生技术与智慧交通结合,效果简直了
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)