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

网站搭建博客今日的最新消息

网站搭建博客,今日的最新消息,高端网站建设电话,新手做电影网站上次说到rust所有权看看它和其他语言比有什么优势,就以python为例 # Python3 def test():a [1, 3, -4, 7, 9]print(a[4])b a # 所有权没有发生转移del b[4]print(a[4]) # 由于b做了删除,导致a再度访问报数组越界if __name__ __main__:test() 运行结…

上次说到rust所有权看看它和其他语言比有什么优势,就以python为例


# Python3
def test():a = [1, 3, -4, 7, 9]print(a[4])b = a  # 所有权没有发生转移del b[4]print(a[4])  # 由于b做了删除,导致a再度访问报数组越界if __name__ == '__main__':test()

运行结果

再看rust

fn main() {let a = vec![1, 3, -4, 7, 9];println!("{}", a[4]);let mut b = a; // a is moved to b 所有权已发生转移b.pop();println!("{}", a[4]);  // 编译直接报错,无法运行}

rust通过所有权机制,让一个值或者一块内存只能有一个变量来控制的方式,一旦出现多个变量访问,编译直接报错,根本上杜绝了数组越界等内存错误。这点明显强于Python,Python要想解决此问题只能考虑使用深拷贝

import copy# Python3
def test():a = [1, 3, -4, 7, 9]print(a[4])b = copy.deepcopy(a)  # 使用深拷贝del b[4]print(a[4])  # 使用深拷贝a,b是两块不同内存不会受到影响if __name__ == '__main__':test()

vec动态数组, 如果学过Java,可以暂时把它当做ArrayList, 除了内存管理不一样,其他核心功能都一样。

下面练习一道算法题

704. 二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
示例 1:

输入: nums = [-1,0,3,5,9,12], target = 9
输出: 4
解释: 9 出现在 nums 中并且下标为 4
示例 2:

输入: nums = [-1,0,3,5,9,12], target = 2
输出: -1
解释: 2 不存在 nums 中因此返回 -1
 

提示:

你可以假设 nums 中的所有元素是不重复的。
n 将在 [1, 10000]之间。
nums 的每个元素都将在 [-9999, 9999]之间。


pub fn search(nums: Vec<i32>, target: i32) -> i32 {let mut left = 0;// len()函数返回值是usize类型,要转义为i32,不要直接使用let mut right = (nums.len() - 1) as i32;while left <= right {let middle = (left + right) / 2  ;if nums[middle as usize] > target {right = middle - 1;}else if nums[middle as usize] < target {left = middle + 1;}else {return  middle;}}return  -1;}
fn main() {let nums = vec![-1,0,3,5,9,12];println!("{}", search(nums, 9));
}

总结这道题是一道基础题,之前其他语言也做过,不难, 需要注意的一点nums.len()的返回值是usize类型需要先转换i32,然后在nums[middle as usize]在转换了,有人可能疑惑这不是多此一举,所有类型都是声明usize不就行了吗,答案是不行,因为提交leetcode会报数组越界问题。

http://www.mmbaike.com/news/53583.html

相关文章:

  • 去哪里做网站比较好seo推广任务小结
  • 商城网站支付端怎么做的网站seo文章该怎么写
  • 蒙古文网站建设情况廊坊seo排名收费
  • 做一款网站百度客服人工
  • 商务网站建设兴田德润电话多少制作app平台需要多少钱
  • 怎样做网站域名注册产品品牌推广策划方案
  • 面试网站建设的问题6网站地址ip域名查询
  • 西安电商网站开发淘宝代运营公司排名
  • 网站高端网站建设seo优化是什么职业
  • 杭州做网站哪家公司好网络营销有什么特点
  • 专业做医院网站怎么做网站优化
  • 西安市城乡建设档案馆网站电商运营工作内容
  • 网站建设 技术方案以下属于网站seo的内容是
  • 网络营销型网站设计湖南关键词优化推荐
  • 华大基因 网站建设公司2022网站快速收录技术
  • 做网站用电脑自带的腾讯广告联盟官网
  • 百度站长如何添加网站西安seo站内优化
  • 沧州做网站推广公司3seo
  • 做网站排名优化是怎么回事网络营销推广方案
  • 网站建设与维护费今日疫情最新情况
  • 深圳公司网站设计企业建设网站的基本流程
  • 网站semseo先做哪个免费引流微信推广
  • 专业做网站流程商业软文怎么写
  • 卡通风格网站欣赏百度收录规则2022
  • 做电子商城网站的广州网站优化平台
  • 青海微信网站建设宁波搜索引擎优化seo
  • 深圳建设网站的公司公司推广方法有哪些
  • 一站式网站建设需要一个网站
  • 让别人做网站的话术软文推广公司有哪些
  • 商城县建设局网站武汉网站快速排名提升