cad二次开发网站,沭阳城乡建设局网站,上海商城网站,最大的推广平台leetcode 150道题 计划花两个月时候刷完#xff0c;今天#xff08;第二天#xff09;完成了两道(5-7)150#xff1a;
(169. 多数元素) 题目描述#xff1a;
给定一个大小为 n 的数组 nums #xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋…leetcode 150道题 计划花两个月时候刷完今天第二天完成了两道(5-7)150
(169. 多数元素) 题目描述
给定一个大小为 n 的数组 nums 返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的并且给定的数组总是存在多数元素。第一版这个我是一次就写出来了这个就是投票的简单类型当然今天这个最多元素也可以排序后直接返回中间元素也行
class Solution {public int majorityElement(int[] nums) {int lennums.length;if(len2){return nums[0];}int res1;int tempnums[0];for(int i1;ilen;i){if(tempnums[i]){res;}else{if(res0){res1;tempnums[i];}res--;}}return temp;}
}189. 轮转数组题目描述
给定一个整数数组 nums将数组中的元素向右轮转 k 个位置其中 k 是非负数。第一版确实刚开始没想到好办法就用了数组暂存然后登挪完其他的把这些加到数组头部但是这种题必须先求余
class Solution {public void rotate(int[] nums, int k) {int lennums.length;if(len1)return ;int countk%len;int[] tempnew int[count];for(int i0;icount;i){temp[i]nums[ilen-count];}for(int ilen-count-1;i0;i--){nums[icount]nums[i];}for(int i0;icount;i){nums[i]temp[i];}}
}第二版看完解析恍然大悟希望我下次再碰到了能直接恍然大悟
class Solution {public void rotate(int[] nums, int k) {int lennums.length;if(len1)return;int countk%len;if(count0)return ;// 反转reserve(nums,0,len-1);// 再反转 前半部分【0-count-1】reserve(nums,0,count-1);// 再反转 后半部分【count-len-1】reserve(nums,count,len-1);}public void reserve(int[] nums,int first,int last){while(firstlast){int tempnums[last];nums[last--]nums[first];nums[first]temp;}}
}121. 买卖股票的最佳时机题目描述
给定一个数组 prices 它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润返回 0 。第一版这个题我也是已经刷了好多遍了还是记不住啊还是没思路就直接暴力求解了但是 leetcode 能过哈哈哈
class Solution {public int maxProfit(int[] prices) {int res0;int tempInteger.MAX_VALUE;for(int i0;iprices.length-1;i){if(prices[i]temp)continue;tempprices[i];for(int ji1;jprices.length;j){resMath.max(res,prices[j]-prices[i]);}}return res;}
}第二版翻了解题的评论才明白了–“降价时候找最低价–涨价时候 算差价”
class Solution {public int maxProfit(int[] prices) {// 降价时候找最低价--涨价时候 算差价 牛int minPriceInteger.MAX_VALUE;int res0;for(int price:prices){if(priceminPrice){minPriceprice;}else{resMath.max(res,price-minPrice);}}return res;}
}今天看了三个题有进步加油 我们的目标是早日跳槽