1046. 最后一块石头的重量 Last Stone Weight

mac2025-03-22  14

题目 https://leetcode-cn.com/problems/last-stone-weight/submissions/

int lastStoneWeight(int* stones, int stonesSize){ int i=0,j=0; int l=0; while(l < stonesSize-1){ for(i=0;i<stonesSize-l-1;i++){ if(stones[i] > stones[i+1]){ j = stones[i+1]; stones[i+1] = stones[i]; stones[i] = j; } } for(i=0;i<stonesSize-l-2;i++){ if(stones[i] > stones[i+1]){ j = stones[i+1]; stones[i+1] = stones[i]; stones[i] = j; } } if(stones[stonesSize-l-1] == stones[stonesSize-l-2]){ l+=2; } else{ stones[stonesSize-l-2] = stones[stonesSize-l-1] - stones[stonesSize-l-2]; l+=1; } } if(l == stonesSize){ return 0; }else{ return stones[0]; } } int main(){ { int n[] = {1,2,3}; printf("%d\n",lastStoneWeight(n,sizeof(n)/sizeof(int))); } { int n[] = {1,2,7}; printf("%d\n",lastStoneWeight(n,sizeof(n)/sizeof(int))); } { int n[] = {2,7,4,1,8,1}; printf("%d\n",lastStoneWeight(n,sizeof(n)/sizeof(int))); } }

 

最新回复(0)