将一个数组中不重复_50. 数组中重复的数字
????????????
1. 思路
????????還可以把當前序列當成是一個下標和下標對應值是相同的數組(時間復雜度為O(n),空間復雜度為O(1));遍歷數組,判斷當前位的值和下標是否相等:
? ? ? ? * 若相等,則遍歷下一位;
? ? ? ? * 若不等,則將當前位置i上的元素和a[i]位置上的元素比較:若它們相等,則找到了第一個相同的元素;若不等,則將它們兩交換。換完之后a[i]位置上的值和它的下標是對應的,但i位置上的元素和下標并不一定對應;重復2的操作,直到當前位置i的值也為i,將i向后移一位,再重復2。
????????本文采用思路3,如果還是不懂,看下面的實例分析就懂了!
? ??????舉例說明:{2,3,1,0,2,5,3}
? ? ? ? * 0(索引值)和2(索引值位置的元素)不相等,并且2(索引值位置的元素)和1(以該索引值位置的元素2為索引值的位置的元素)不相等,則交換位置,數組變為:{1,3,2,0,2,5,3};
? ? ? ? * 0(索引值)和1(索引值位置的元素)仍然不相等,并且1(索引值位置的元素)和3(以該索引值位置的元素1為索引值的位置的元素)不相等,則交換位置,數組變為:{3,1,2,0,2,5,3};
? ? ? ? * 0(索引值)和3(索引值位置的元素)仍然不相等,并且3(索引值位置的元素)和0(以該索引值位置的元素3為索引值的位置的元素)不相等,則交換位置,數組變為:{0,1,2,3,2,5,3};
2. 代碼
推薦閱讀:
★?求職經驗:點這里
★?算法刷題:點這里
★?投資理財:點這里
★?AI很簡單:
★?掃盲科普:點這里
???◆???◆???◆???◆???◆???◆???◆???◆???◆???◆???◆??
?????
總結
以上是生活随笔為你收集整理的将一个数组中不重复_50. 数组中重复的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 远晶瓷砖和慕歌瓷砖哪个好?
- 下一篇: 柱状图设置坐标轴名称_职场老鸟珍藏的柱状