leetcode no219 - beyondnlp/nlp GitHub Wiki
typedef struct node_t{
short int num;
short int idx;
}node_t;
int compare_node( const void *a, const void *b ){
node_t *x = (node_t*)a;;
node_t *y = (node_t*)b;
return x->num - y->num;
}
bool containsNearbyDuplicate(int* nums, int numsSize, int k) {
int i, j, loop;
if( numsSize == 0) return false;
if( numsSize == 1 ) return false;
if( k == 0 ) return false;
node_t *node;
node = malloc(sizeof(node_t)*numsSize );
for( i = 0; i < numsSize; i++){
node[i].num = nums[i];
node[i].idx = i;
}
qsort( node, numsSize, sizeof(node_t), compare_node);
for( i = 1; i < numsSize; i++ ){
if( node[i-1].num == node[i].num ){
if( abs(node[i].idx - node[i-1].idx ) <= k ){
free(node);
return true;
}
}
}
free(node);
return false;
}
