上周一直在准备鹅肠校招,虽然凉凉,但也没事,还有时间。
1.两数之和
题目链接
题解:暴力就完了,也可以哈希。
代码:
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int i,j;
int *result=(int *)malloc(sizeof(int)*2);
for(i=0;i<numsSize;i++)
{
for(j=i+1;j<numsSize;j++)
{
if(nums[i]+nums[j]==target)
{
result[0]=i;
result[1]=j;
*returnSize=2;
return result;
}
}
}
*returnSize=0;
return NULL;
}
121.买卖股票的最佳时机
题目链接
题解:用min存放买入时的股票值,用max记录最大利润,min通过迭代得到最小值,max得到卖出时的最大利润,但是注意一定要先买再卖。
代码:
int maxProfit(int* prices, int pricesSize) {
int min=1000001;
int max=0;
for(int i=0;i<pricesSize;i++)
{
if(prices[i]<min){
min=prices[i];
}
if(prices[i]-min>max)
{
max=prices[i]-min;
}
}
return max;
}
两题就两题吧,再不回去宿舍就关了。