代码随想录算法训练营第一天 | 704.二分查找、27移除元素|

本文记录了作者在解决LeetCode题目704错误百出和27移除元素时的思考过程,包括二分查找策略的完善、不同解法的理解以及C++中vector和array的区别。学习中还涉及到了内存地址和不同编程语言的内存管理问题。

题目链接 704:. - 力扣(LeetCode)

题目链接   27:. - 力扣(LeetCode)

状态:704.错误百出、27.没写出来

初步思路:

        704.二分查找:思路比较基础,但对区间的设置没有明确的把握

        27.移除元素:暴力解法没有想到,但想到了双指针法的双侧指针,只想到思路,不会代码实现方法

阅读题解后思路:

        704.二分查找:查缺补漏写上了正确解答;明确了两种方法:左闭右闭和左闭右开,关键理解:当left==right,区间[left, right]依然有效,所以用 <=,常用左闭右闭方法。

        27.移除元素:暴力解法、单侧双指针法、相向双指针法的实现因为是第二次看了,不难理解,但代码实现自己未重新编写一次,容易遗忘。

实现过程中遇到哪些困难 :

        1.不会获得数组的大小:数组名.size()

        2.4个字节为什么用16进制的4来表示? 按字节编址。

内存地址与内存空间_32位系统地址1位占多少字节-优快云博客

今日收获:

  1. C++中,注意vector和array的区别,vector的底层实现是array,严格来讲vector是容器,不是数组。
  2. 不同编程语言的内存管理是不一样的:在不同的编程语言中二维数组的地址空间不一定连续在C++中二维数组在地址空间上是连续的。

        成功开始第一天的学习

学习时长:2小时

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值