leetcode數組中查找數,[leetcode] Single Number 查找數組中的單數

 2023-10-17 阅读 28 评论 0

摘要: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? 題目大意:一個整形數組,除了一個數例

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?

題目大意:一個整形數組,除了一個數例外,其他每個數都會重復兩遍,找出這個單數

leetcode數組中查找數。

int compare(const void *a, const void *b)
{return (*(int*)a - *(int*)b); 
}int singleNumber(int* nums, int numsSize) {int i = 0;qsort(nums, numsSize, sizeof(int), &compare);if(numsSize == 1)return nums[0];if(nums[0] != nums[1])return nums[0];for(i = 3; i < numsSize-1; i=i+2){if(nums[i] != nums[i-1])return nums[i-1];}return nums[numsSize-1];
}
運行時間12ms,其他人最快8ms

排序的時候其實就可以找出這個單數了,而上面的代碼使用了庫函數先排序,再循環查找,浪費了時間



版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/143584.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息