【谷歌面試題】求陣列中兩個元素的最小距離
一個陣列,含有重複元素,給出兩個數num1和num2,求這兩個數字在陣列中出現的位置的最小距離
O(n)時間複雜度,O(1)空間複雜度
int minDistance(int A[], int size, int num1, int num2)
{
int num1_last_pos = -1;
int num2_last_pos = -1;
int min_dist = INT_MAX;
for(int i = 0; i < size; ++i)
{
if(A[i] == num1)
{
num1_last_pos = i;
if(num2_last_pos >= 0)
min_dist = min(min_dist, num1_last_pos-num2_last_pos);
}
if(A[i] == num2)
{
num2_last_pos = i;
if(num1_last_pos >= 0)
min_dist = min(min_dist, num2_last_pos-num1_last_pos);
}
}
return min_dist;
}
相關文章
- 找到兩個陣列中的公共元素陣列
- 旋轉陣列中的最小元素陣列
- 求矩陣中向量兩兩間的歐氏距離(python實現)矩陣Python
- 比較兩個陣列中是否有相同的元素陣列
- 求兩向量距離的CUDA實現
- 求一個陣列中沒有出現的最小正數陣列
- 求陣列中未出現的最小正整數陣列
- 程式設計求一維陣列中最大和最小的元素值程式設計陣列
- 選擇問題(求第k個最小元素)
- leetcode-624.陣列列表中的最大距離LeetCode陣列
- javascript將陣列的元素每兩個一組存入一個新陣列JavaScript陣列
- JavaScript 元素距離視窗頂部的距離JavaScript
- 陣列中每個陣列元素出現的次數陣列
- 如何將一個陣列中的元素插入另一個陣列陣列
- 每天一道演算法題:求兩個排序陣列的中位數演算法排序陣列
- iOS 用簡便的方法統計兩個陣列中不同的元素iOS陣列
- JavaScript獲取元素距離文件頂部的距離JavaScript
- 【谷歌面試題】有序輸出兩棵二叉查詢樹中的元素谷歌面試題
- 演算法求陣列中的最大值最小值演算法陣列
- 求二叉樹的給定兩個結點之間的距離二叉樹
- 利用空間資料庫求兩點距離資料庫
- 每天一題(2)--旋轉陣列求最小值陣列
- [求解]陣列,分成倆個陣列,陣列值之和的相差最小。陣列
- 兩個有序陣列的中位數陣列
- javascript獲取元素距離網頁頂部的距離JavaScript網頁
- js如何獲取兩個陣列共有的元素JS陣列
- js獲取陣列元素中的最大值和最小值JS陣列
- 返回陣列中的最大元素個數陣列
- 陣列中的第K個最大元素陣列
- 兩個陣列分別取出一個來相加,找出和最小的k個陣列
- 巧妙利用快速排序法的原理求一個陣列中的第10大元素排序陣列
- 陣列1——求一個陣列的最大子陣列陣列
- 最小距離分類器,互動式選取影像樣本分類資料,進行最小距離分類(實現歐式距離,馬氏距離,計程距離)
- C語言 有一個整形陣列a,有10個元素,要求輸出陣列中的全部元素C語言陣列
- javascript向陣列中追加多個元素JavaScript陣列
- jQuery獲取網頁中的元素距離文件邊緣的距離程式碼例項jQuery網頁
- 常見問題01:計算地球上兩個點的距離
- C++語言演算法之求任意兩個相同字元的最大距離C++演算法字元