【Leecode笔记01-数据结构入门14天】初学自用笔记

Leecode似乎会吞笔记,那就记录在这里啦

1. vector

【题目217】

vector 作为函数的参数或者返回值时,需要注意它的写法:
【https://www.w3cschool.cn/cpp/cpp-i6da2pq0.html】
double Distance(vector&a, vector&b)
其中的“&”绝对不能少!!!
vectortest;//建立一个vector,int为数组元素的数据类型,test为动态数组名。

1.1
begin() 和 end() 是以函数模板的形式定义的,但它们的模板并没有位于某一个头文件中,而是很多头文件中都有它们的定义。
C++ STL 标准库中,包含 begin() 和 end() 函数模板的头文件包括:, , , <forward_list>, , , (正则表达式的头文件), , , <unordered_map>, <unordered_set> 以及 。

1.2
c++中,在获取字符串长度时,size()函数与length()函数作用相同。除此之外,size()函数还可以获取vector类型的长度。

1.3
【题目350. 两个数组的交集 II】push_back() 在Vector最后添加一个元素(参数为要插入的值)

vector<int>& nums1;
int index1;
vector<int> intersection;
...
intersection.push_back(nums1[index1]);

1.4
【题目566.重塑矩阵】之vector<vector<int>> A的使用:

关于初始化的定义,这篇讲的很形象了:【https://blog.csdn.net/BShanj/article/details/113817328】
简而言之:vector<vector<int>> ans(r, vector<int>(c))表示:声明一个名为ans的容器,其元素排布为r行(int r)c列(一行c列的vector©)

题目用到了push_back逐次从后输入元素值,这里讲的很清楚啦:
【https://blog.csdn.net/VariatioZbw/article/details/116485536】

要注意的是,随着行遍历元素,则对应元素序号为[i / n][i % n],因为余数%是随着列n的增加而增加的,用m会溢出。

基本语法之 if和else:
if(){。。。}
else{。。。}//之后else再独立一个{。。。}

2. 指针

指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址
int var = 20; // 实际变量的声明
int *ip; // 指针变量的声明
ip = &var; // 在指针变量中存储 var 的地址

3. sort函数

语法:Sort(start,end,cmp)
参数:
(1)start表示要排序数组的起始地址;
(2)end表示数组结束地址的下一位;
(3)cmp用于规定排序的方法,可不填,默认升序。
功能:
sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。一般是直接对数组进行排序,例如对数组a[10]排序,sort(a,a+10)。sort()函数是c++一种排序方法之一,相较冒泡排序和选择排序所带来的执行效率不高的问题,sort()函数使用的排序方法是类似于快速排序的方法,时间复杂度为n*log2(n)

题目53-最大子序和

https://blog.csdn.net/liuxf93/article/details/120820359

auto:在块作用域、命名作用域、循环初始化语句等中声明变量时,关键词auto用作类型指定符。

const:修饰符
​想要拷贝元素:for(auto x:range) ​
想要修改元素:for(auto &x:range) ​
想要只读元素:for(const auto& x:range)

题目思路

(贪心or动态规划,题解和题解视频里的标题还不一样…)
(贪心or动态规划,题解和题解视频里的标题还不一样..)

class Solution{
public:                                    //public顶格写
    int maxSubArray(vector <int>  &  nums){
        int pre=0, maxAns=nums[0];         //使用逗号可以不用重复int
        for(const auto   &   x: nums){          //有auto不用int
            pre = max(pre+x, x);          //走新的一步,回头,如果前面的<0,那就不要了
            maxAns = max(maxAns, pre);
        }
        return maxAns;
        
    }

(现在才开始刷力扣,很焦虑了咱就是说

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值