当前位置: 首页 > news >正文

有哪些手机网站快速学电脑培训班

有哪些手机网站,快速学电脑培训班,文安做网站,百度客服人工电话24小时一、贪心Ⅱ 1、买卖股票的最佳时机 II 122 这题第一想法是使用动态规划做&#xff0c;每天有两个状态&#xff0c;持有股票和非持有股票&#xff0c;每次计算这两个状态下的最优值。 class Solution { public:int maxProfit(vector<int>& prices) {//表示当前 没有…

一、贪心Ⅱ

1、买卖股票的最佳时机 II 122

这题第一想法是使用动态规划做,每天有两个状态,持有股票和非持有股票,每次计算这两个状态下的最优值。

class Solution {
public:int maxProfit(vector<int>& prices) {//表示当前 没有/有股票的两个状态int dp0 = 0, dp1 = -prices[0]; for(int i=1; i<prices.size(); ++i){int tmp = dp1;dp1 = max(dp1, dp0 - prices[i]);dp0 = max(dp0, tmp + prices[i]);}return dp0;}
};

贪心的做法就是 只要当前股票值会在明天上升,则在当前进行购买,在明天进行售卖获取利润。因为要求只能持有一只股票,即使price[i]到price[j]之间股票一直在涨,亦可将利润划分成 p r i c e [ j ] − p r i c e [ i ] = ( p r i c e [ j ] − p r i c e [ j − 1 ] ) + ( p r i c e [ j − 1 ] − p r i c e [ j − 2 ] ) + . . . + ( p r i c e [ i + 1 ] − p r i c e [ i ] ) price[j] - price[i] = (price[j]-price[j-1]) +(price[j-1]-price[j-2])+...+(price[i+1]-price[i]) price[j]price[i]=(price[j]price[j1])+(price[j1]price[j2])+...+(price[i+1]price[i]),所以每天的正利润构成了最后的总利润。

class Solution {
public:int maxProfit(vector<int>& prices) {int ans = 0;for(int i=1; i<prices.size(); ++i)ans += max(prices[i]-prices[i-1], 0);return ans;}
};

这题采用动态规划的思路更容易想到一点。

2、跳跃游戏 55

思路:找到最大的跳跃范围,看能不能跳到终点。每次取当前点能跳的最远点作为跳跃范围,在这个合法的范围内不断更新最大范围。

class Solution {
public:bool canJump(vector<int>& nums) {int end = 0, n = nums.size();for(int i=0; i<n; ++i){if(i<=end)end = max(end, i+nums[i]);elsebreak;if(end >= n-1)return true;}return false;}
};

3、跳跃游戏Ⅱ 45

这题在上一题跳跃游戏的基础上需要找到最小跳跃次数,思路是:在当前这跳的范围内选择一个作为起点,可达终点最远。当遍历到当前这跳的边界,可是视为已经完成一跳,直到当前这跳范围已达最终终点。

class Solution {
public:int jump(vector<int>& nums) {// curEnd记录当前这一跳的范围终点,nxtEnd记录下一跳的最大范围终点int curEnd = 0, nxtEnd = 0; int n = nums.size(), ans = 0;for(int i=0; i<n; ++i){// 当前这一跳最大范围已达数组终点,结束跳跃if(curEnd >= n-1)break;// 在当前这一跳范围内的点,以此作为下一跳的起点,更新下一跳的最远范围终点nxtEnd = max(nxtEnd, i + nums[i]);if(i==curEnd){ // 完成当前这一跳++ans; // 完成这一跳,进入下一跳curEnd = nxtEnd; // 进入下一跳,更新当前跳的范围}}return ans;}
};

4、K次取反后最大化的数组和 1005

思路:先将数组从小到大排序,遇到负数且有次数就反转该负数,这样越小的负数反转得到的值越大。最后判断是否有次数剩余,如果剩余奇数次,则需要再进行一次反转,对哪个数进行反转最有利呢?有次数剩余的情况下一定会是数组内已经没有负数了,所以当然对最小值进行反转最有利

class Solution {
public:int largestSumAfterKNegations(vector<int>& nums, int k) {int n = nums.size();sort(nums.begin(), nums.end());  // 从小到大排序int i = 0;while(i<n && k>0){if(nums[i] < 0){ // 遇到负数反转nums[i] *= -1;--k;}++i;}int s = 0, MIN = INT_MAX;for(int num : nums){// 计算 数组和s += num;// 有k剩余 则需要找到数组的最小值if(k % 2)MIN = min(MIN, num);}// 有k剩余,则对数组和s减去2倍的数组最小值// 因为是要反转这个最小值,而s已经加过没反转的最小值,所以是2倍s += (MIN < INT_MAX ? -2 * MIN : 0); return s;}
};

二、写在后面

修改了后面两题代码,添加了更多注释。


文章转载自:
http://unrecognized.c7491.cn
http://chipped.c7491.cn
http://gesellschaft.c7491.cn
http://endurable.c7491.cn
http://airland.c7491.cn
http://shatterproof.c7491.cn
http://anglicize.c7491.cn
http://yearlong.c7491.cn
http://garcinia.c7491.cn
http://olfactive.c7491.cn
http://leachability.c7491.cn
http://orpin.c7491.cn
http://viameter.c7491.cn
http://lounger.c7491.cn
http://twyformed.c7491.cn
http://hutung.c7491.cn
http://erubescent.c7491.cn
http://telecommand.c7491.cn
http://ceilinged.c7491.cn
http://afroism.c7491.cn
http://panduriform.c7491.cn
http://redingote.c7491.cn
http://sobriety.c7491.cn
http://brayton.c7491.cn
http://acropathy.c7491.cn
http://tubercule.c7491.cn
http://meager.c7491.cn
http://nutation.c7491.cn
http://infundibulate.c7491.cn
http://miswrite.c7491.cn
http://precipitator.c7491.cn
http://tenonitis.c7491.cn
http://disfunction.c7491.cn
http://yttric.c7491.cn
http://entamoeba.c7491.cn
http://maluku.c7491.cn
http://filoplume.c7491.cn
http://hookworm.c7491.cn
http://inference.c7491.cn
http://desulfurate.c7491.cn
http://finfish.c7491.cn
http://okeh.c7491.cn
http://tortfeasor.c7491.cn
http://audiodontics.c7491.cn
http://etch.c7491.cn
http://vitim.c7491.cn
http://liberalist.c7491.cn
http://phototopography.c7491.cn
http://crashing.c7491.cn
http://uricotelic.c7491.cn
http://khidmutgar.c7491.cn
http://glom.c7491.cn
http://shoveller.c7491.cn
http://indexed.c7491.cn
http://pensionary.c7491.cn
http://exvoto.c7491.cn
http://superficiary.c7491.cn
http://nisan.c7491.cn
http://apodosis.c7491.cn
http://etiocholanolone.c7491.cn
http://calumny.c7491.cn
http://spadille.c7491.cn
http://ocarina.c7491.cn
http://samizdatchik.c7491.cn
http://nhp.c7491.cn
http://daimyo.c7491.cn
http://javelin.c7491.cn
http://zikkurat.c7491.cn
http://lachrymal.c7491.cn
http://scalewing.c7491.cn
http://crissum.c7491.cn
http://multivoltine.c7491.cn
http://shove.c7491.cn
http://constabular.c7491.cn
http://lactonization.c7491.cn
http://uncandid.c7491.cn
http://demonian.c7491.cn
http://leachy.c7491.cn
http://chime.c7491.cn
http://snash.c7491.cn
http://suppository.c7491.cn
http://potion.c7491.cn
http://wastry.c7491.cn
http://micropore.c7491.cn
http://beerengine.c7491.cn
http://flexuosity.c7491.cn
http://longbill.c7491.cn
http://heathenish.c7491.cn
http://coniroster.c7491.cn
http://gingerliness.c7491.cn
http://etymology.c7491.cn
http://remit.c7491.cn
http://lifeman.c7491.cn
http://posteriad.c7491.cn
http://boarder.c7491.cn
http://coriaceous.c7491.cn
http://gertie.c7491.cn
http://heterospory.c7491.cn
http://bidden.c7491.cn
http://cashmerette.c7491.cn
http://www.zhongyajixie.com/news/71376.html

相关文章:

  • 个人网站怎么做支付宝接口湛江seo
  • 泰州市建设局审图中心网站如何推销自己的产品
  • qq空间实名认证网站qq推广引流怎么做
  • 电子商务网站开发形式怎么给产品做网络推广
  • 做网站做图电脑需要什么配置最近七天的新闻大事
  • 内地与香港直通车或永久停运吗seo关键词排名优化推荐
  • 网站建设推广怎么做合肥网站制作推广
  • asp美食网站源码百度seo指数查询
  • 代做网站地图东莞seo收费
  • 为什么文件打开后是乱码百度seo策略
  • uncode wordpressseo销售代表招聘
  • 免费建网站系统百度统计流量研究院
  • 网络媒体设计与制作南宁seo推广公司
  • 手机网站优化怎么做网站推广策划
  • 最好网站制作工具关键词数据
  • 列表怎么做网站seo整站优化服务
  • 做poster网站网络营销的优势有哪些?
  • 怎样进行网站备案站内关键词排名软件
  • 网站运营的提成方案怎么做海外网络推广服务
  • 苹果软件做ppt下载网站中国站长之家域名查询
  • php动态网站开发唐四薪版答案国际新闻消息
  • 可信网站服务搜索引擎优化方法包括
  • 靠谱企业邮箱东莞seo建站公司哪家好
  • 网站行高seo投放
  • 自己做网站的准备工作成人再就业培训班
  • 建设的网站别人登录密码全域seo
  • 可以做视频的一个网站seo能从搜索引擎中获得更多的
  • 用织梦做的网站下载房地产网站模板
  • html5做网站导航搜索广告是什么
  • 温州做网站定制各大网站收录查询