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

做网站一般用什么配置的电脑设计一个简单的网页

做网站一般用什么配置的电脑,设计一个简单的网页,商业中心 网站建设,小程序是做什么的14. 977.有序数组的平方(简单,学习,双指针) 977. 有序数组的平方 - 力扣(LeetCode) 思想 法一: 1.平方赋值到另一个数组sort排序 法二: 1.寻找负数和非负数的分界线(学习代码如何写?),[0,neg]负数,[neg1…
14. 977.有序数组的平方(简单,学习,双指针)

977. 有序数组的平方 - 力扣(LeetCode)

思想

法一:
1.平方赋值到另一个数组+sort排序
法二:
1.寻找负数和非负数的分界线(学习代码如何写?),[0,neg]负数,[neg+1,n)非负数,两个指针neg和neg+1分别向左右移动,选择较小的放到新数组里面,一方遍历完把另一方全部平方加到后面,类似于归并排序思想(思考为什么?)
法三:
1.与法二都是双指针思想,不够left从0开始,right从n-1开始,向内遍历逆序把最大的平方放到新数组末尾,所以需要维护一个新数组待赋值位置变量

代码

法一:
c++:

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {vector<int> res;int n = nums.size();for (int i = 0; i < n; ++i) {res.push_back(nums[i] * nums[i]);}sort(res.begin(), res.end());return res;}
};

python:

class Solution:def sortedSquares(self, nums: List[int]) -> List[int]:n = len(nums)res = []for i in range(n):res.append(nums[i] * nums[i])res.sort()return res

法二:
c++:

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {vector<int> res;int n = nums.size();int neg = -1;for (int i = 0; i < n; ++i) {if (nums[i] < 0)neg = i;elsebreak;}int left = neg, right = neg + 1;while (left >= 0 && right < n) {if (nums[left] * nums[left] < nums[right] * nums[right]) {res.push_back(nums[left] * nums[left]);left--;} else {res.push_back(nums[right] * nums[right]);right++;}}if (left >= 0) {while (left >= 0) {res.push_back(nums[left] * nums[left]);left--;}} else {while (right < n) {res.push_back(nums[right] * nums[right]);right++;}}return res;}
};

python:

class Solution:def sortedSquares(self, nums: List[int]) -> List[int]:n = len(nums)neg = -1for i in range(n):if nums[i] < 0:neg = ielse:breakleft, right = neg, neg + 1res = []while left >= 0 and right < n:if nums[left] * nums[left] < nums[right] * nums[right]:res.append(nums[left] * nums[left])left -= 1else:res.append(nums[right] * nums[right])right += 1if left >= 0:for i in range(left, -1, -1):res.append(nums[i] * nums[i])else:for i in range(right, n):res.append(nums[i] * nums[i])return res

法三:
c++:

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int n = nums.size();vector<int> res(n);int left = 0, right = n - 1;int id = n - 1;while (left <= right) {if (nums[left] * nums[left] < nums[right] * nums[right]) {res[id--] = nums[right] * nums[right];right--;} else {res[id--] = nums[left] * nums[left];left++;}}return res;}
};

python:

class Solution:def sortedSquares(self, nums: List[int]) -> List[int]:n = len(nums)left, right = 0, n - 1id = n - 1res = [0] * nwhile left <= right:if nums[left] * nums[left] > nums[right] * nums[right]:res[id] = nums[left] * nums[left]left += 1id -= 1else:res[id] = nums[right] * nums[right]right -= 1id -= 1return res

1.res = [0] * n创建一个长度为n的空数组

http://www.dtcms.com/wzjs/454782.html

相关文章:

  • 超市的网站怎么建设天津网站快速排名提升
  • wordpress多站点使用其他域名企业邮箱登录
  • 做汽车价格的网站建设品牌宣传推广方案
  • 高端网站建设公司排行今日头条指数查询
  • python web 做的网站seo优化公司如何做
  • 湖南网站推广免费网站安全软件大全
  • 网站代码在哪里写西安seo排名优化推广价格
  • 乌鲁木齐网站建设公司网络推广怎么学
  • 贵港市住房和城乡规划建设委员会网站中国500强最新排名
  • 政府网站建设经验交流材料百度网址提交
  • 做美食的视频网站本周热点新闻事件
  • 网站建设的技术支持宁波seo超级外链工具
  • 如何做一条动态网站今天特大新闻
  • 做网站优化常用工具媒体发布公司
  • zblog 与wordpressseo建站工具
  • 手机网站软件互联网推广平台
  • 学做内账的网站搜索到的相关信息
  • 流量套餐汇总网站重庆百度seo整站优化
  • 怎么申请 免费网站常用的seo查询工具
  • win2008iis7配置网站北京网站seo哪家公司好
  • 网站建设与运营 好考吗网络广告营销案例
  • 网站制作公司服务今日国内新闻大事20条
  • 做网站的软件行业关键词搜索量排名
  • 义乌制作网站要多少钱福建seo优化
  • 广州网站建设开发软文范例大全500字
  • 网站建设对客户的影响参考消息今天新闻
  • 晋江网站建设公司做网络推广为什么会被抓
  • 做网站哪家专业东莞网站推广的公司
  • 网站建设客服专员百度关键词是怎么排名靠前
  • 西宁网站建设开发苏州网站制作开发公司