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

江苏省备案网站用ip做网站

江苏省备案网站,用ip做网站,免费拓客软件,关于公司建设网站的意义6.30 189. 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 **我的思路:**把nums[0]的数字放在nums[i]上面,把nums[i]的数字放在nums[0]上面 我的代码: function rotate(nums: number[], …

6.30 189. 轮转数组

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

**我的思路:**把nums[0]的数字放在nums[i]上面,把nums[i]的数字放在nums[0]上面

我的代码:

function rotate(nums: number[], k: number): void {let len = nums.length;let time = 0 ; while(time < k){//    把第一个作为放置数字的地方// 遍历数组for(let i = 1 ; i < len ; i++){// 把nums[0]的数字放在nums[i]上面,把nums[i]的数字放在nums[0]上面let temp = nums[i];nums[i] = nums[0];nums[0] = temp;}time ++;}
};

超出时间限制(内心骂了一万次)

这种方法的时间复杂度是O(n*k),当k较大时会导致时间超限。

官方解答:

  1. 三次反转法:这是最常用的方法,时间复杂度为O(n),空间复杂度为O(1)。

    function rotate(nums: number[], k: number): void {let len = nums.length;k = k % len; // 处理k大于数组长度的情况if (k === 0) return; // 如果k为0,直接返回fanzhuan(nums, 0, len - 1); // 翻转整个数组fanzhuan(nums, 0, k - 1);   // 翻转前k个元素fanzhuan(nums, k, len - 1); // 翻转剩下的元素
    }function fanzhuan(nums: number[], start: number, end: number): void {while (start < end) {let temp = nums[start];nums[start] = nums[end];nums[end] = temp;start++;end--;}
    }
    
  2. 使用额外数组:时间复杂度O(n),空间复杂度O(n)。

    哈哈,js里面如果赋值给nums,会新生成一个数组呢,对原数组没有影响

**总结:**虽然自己的想法时间有点超限,但是已经很好啦!多学学一些其他高校的算法

三次轮转法适用的地方:原地旋转、旋转步数较大、适用于任意旋转步数适、用于任何顺序的数组

6.30 121. 买卖股票的最佳时机

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。

返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0

我的思路:

如果是暴力的话,先去找最小的价格,然后再最小的价格后面找最大的价格,两个价格相减

思路:动态地处理max:

因为max必须是大的减去小的,所以先设定一个min为prices[0],遍历价格数组,如果遇到比

min还小的就要更新min,如果是比min大的就要更新max

我的代码:

function maxProfit(prices: number[]): number {let min = prices[0] ; let max = 0 ;let i = 1 ; // 第一遍循环找到最小的价格for(i ;   i < prices.length ; i++){if(prices[i] < min){min = prices[i];}else {max = max > prices[i] - min ? max : prices[i] - min;}}return max  ;
};

总结:代码通过一次遍历数组,不断跟踪最低价格,并计算当天价格与最低价格的差值来更新最大利润。这是一种贪心算法的应用,思路清晰,时间复杂度是O(n),非常高效。


文章转载自:

http://ES67Hgaj.tkxyx.cn
http://AlEZAqhg.tkxyx.cn
http://OOUXq3pg.tkxyx.cn
http://Vgx6nvKY.tkxyx.cn
http://irVfQwNG.tkxyx.cn
http://KpML6Yuc.tkxyx.cn
http://MbJ7e12i.tkxyx.cn
http://kMZCprYJ.tkxyx.cn
http://syucp28S.tkxyx.cn
http://brpCpwLe.tkxyx.cn
http://zKXQeCPr.tkxyx.cn
http://fl2dTzK6.tkxyx.cn
http://OjbMRGVY.tkxyx.cn
http://NsGzp5A9.tkxyx.cn
http://PAxPrjAZ.tkxyx.cn
http://igcKQCjT.tkxyx.cn
http://I6ThVbLo.tkxyx.cn
http://CIqGHpmM.tkxyx.cn
http://rJMFS1IG.tkxyx.cn
http://cyyVaqud.tkxyx.cn
http://vZeub3GK.tkxyx.cn
http://EwxiVktB.tkxyx.cn
http://f5xF3pcj.tkxyx.cn
http://ZDw9HuLL.tkxyx.cn
http://OXzQQmKZ.tkxyx.cn
http://cevseVRv.tkxyx.cn
http://PmmgkAAw.tkxyx.cn
http://VVQnJqO2.tkxyx.cn
http://wDclPkYb.tkxyx.cn
http://omE8cyni.tkxyx.cn
http://www.dtcms.com/wzjs/666657.html

相关文章:

  • 广州 网站开发 公司电话卢龙网站建设
  • 厦门网站开发网站建设网站有趣的wordpress插件
  • 深圳网站优化网站做网站推广的销售电话开场白
  • 设计类素材网站民宿客栈网站制作
  • 天水网站制作公司电商小程序开发需要多少钱
  • 网页设计与网站建设简答题什么网站可以做报名系统
  • 商洛市住房城乡建设厅网站淄博外贸网站哪家好
  • 如何查询网站备案时间查询wordpress 报表
  • 百度如何把网站做链接wordpress可以显示歌词
  • 张家界旅游网站官网百度小游戏小程序入口
  • 网站建设总流程西安做网站的公司排名
  • 做静态页面的网站关键词推广
  • 在线做网站最新新闻国内大事件
  • 怎样创作一个网站小程序发布流程
  • 自媒体可做外链网站网站的优点
  • 网站系统搭建中山全麦网站建设
  • 昆明企业网站制作网络科技公司网站首页
  • cpa广告联盟网站建设wordpress加载慢 2017
  • 网站开发培训深圳wordpress 评论 样式
  • 展台设计网站推荐怎么做提货网站
  • 甘肃省城乡建设厅网站智能工程学院
  • 大型网站 cms做语文综合题的网站
  • 个人网站策划书怎么做网站的优点
  • 培训机构网站源码iis添加网站ip地址
  • 网站集群 建设方案wordpress首页标题副标题
  • 射阳建设网站维护网站费用怎么做会计凭证
  • 合肥浦发建设集团网站网站页脚有什么作用
  • 百度统计网站速度诊断多少关键词排名优化软件
  • 模板建网站价格网页开发的公司
  • 保定网站制作网站wordpress最新版本下载