2022.02.05 DAY2
前言
今天陪老姐送对象去安庆了,上午还去了西风禅寺求了个签,第一次拿到中评签,看来今年还需要继续努力哈哈哈。一直到晚上才有时间去做点题目,今天依旧是leetcode。
题目
leetcode 1 两数之和
题目
(两数之和)[https://leetcode-cn.com/problems/two-sum/]
思路
还是一样,我们先考虑一下朴素做法,显然是双重遍历,时间复杂度是O(N^2^),显然在1e5的情况下是过不掉的,所以我们选择优化到O(N)。由于我们只需要找到一个符合题意得解即可,我们可以利用哈希表的特点边遍历边读入,这样的时间复杂度是最小的。
代码
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int> hash;
int len = nums.size();
for(int i = 0; i < len; ++ i){
int t = target - nums[i];
if(hash.count(t)) return {hash[t], i};
hash[nums[i]] = i;
}
return {};
}
};
2. leetcode 2 两数相加
题目
(两数相加)[https://leetcode-cn.com/problems/add-two-numbers/]
思路
其实就是链表的模拟题。
代码
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* res = new ListNode(-1);
ListNode* temp = new ListNode;
res = temp;
int carry = 0;
while(l1 || l2){
int n1 = l1 ? l1->val : 0;
int n2 = l2 ? l2->val : 0;
int sum = n1 + n2 + carry;
carry = sum / 10;
temp->next = new ListNode(sum % 10);
temp = temp->next;
if(l1) l1 = l1->next;
if(l2) l2 = l2->next;
}
if(carry) temp->next = new ListNode(1);
return res->next;
}
};
Acwing 第37场周赛 B题 4297 截断数组
题目
(截断数组)[https://www.acwing.com/problem/content/4300/]
思路
用一个前缀数组一个后缀数组来维护值就行了,需要注意的是题目要求从中间切开所以中间的数组长度绝对不为0,所以双指针的l与r不能相碰。
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int arr[N];
long long pre[N], last[N];//预加载前后缀和数组
int main(){
int n;
cin.tie(0);
ios::sync_with_stdio(false);
cin >> n;
for(int i = 0;i < n; ++i){
cin >> arr[i];
}
for(int i = 1; i <= n; ++ i){
pre[i] = pre[i - 1] + arr[i - 1];
}
for(int i = n; i >= 1; -- i){
last[i] = last[i + 1] + arr[i - 1];
}
int l = 1, r = n;
long long res = 0;
while(l < r){
if(pre[l] > last[r]){
r--;
}else if(pre[l] < last[r]) {
l++;
}else{
res = max(res, pre[l]);
l++;
}
}
cout << res;
}
2022.02.05 DAY2的更多相关文章
- ROS的安装-> rosdep init /update报错2022.02.24实测有效
ROS的安装-> rosdep init /update报错2022.02.24实测有效 一. 解决rosdep_init问题 正常执行sudo rosdep init会报错,如下: ERR ...
- 2022.02.27 CF811E Vladik and Entertaining Flags
2022.02.27 CF811E Vladik and Entertaining Flags https://www.luogu.com.cn/problem/CF811E Step 1 题意 在一 ...
- 2022.02.27 CF811E Vladik and Entertaining Flags(线段树+并查集)
2022.02.27 CF811E Vladik and Entertaining Flags(线段树+并查集) https://www.luogu.com.cn/problem/CF811E Ste ...
- 2022.02.21 UB
2022.02.21 UB 参考资料: https://zhuanlan.zhihu.com/p/141467895 https://blog.csdn.net/ghscarecrow/article ...
- 2022.02.21 SA
2022.02.21 SA 当我年少轻狂时,我曾拥有自由,但我并不明白它的意义.我曾拥有时间,但我没有意识到它的珍贵.我曾拥有爱,但我从未用心去体会.数十年的时间考验后,我终于理解了三者的真谛. 我已 ...
- 2022.02.20 SA
2022.02.20 SA 如果我还能看见明天黎明,如果我还能再爬起来,我仍会走我的路,哪怕这条路已经荒废许久,也许我们无法拥有感情,我们甚至无法像个正常人一样接受太阳的洗礼,但是我依然会执行我的条约 ...
- 2022寒假集训day2
day1:学习seach和回溯,初步了解. day2:深度优化搜索 T1 洛谷P157:https://www.luogu.com.cn/problem/P1157 题目描述 排列与组合是常用的数学方 ...
- 又是一个二模02,不过day2
话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链 ...
- iOS 学习笔记 一 (2015.02.05)
一:Xcode6输入框设置为 keyboard type设置为Number Pad弹不出键盘的解决办法 问题:Can't find keyplane that supports type 4 fo ...
随机推荐
- Discrete Logging(poj2417)
Discrete Logging Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5120 Accepted: 2319 ...
- 理解HTTP协议中的multipart/form-data
前提 之前在写一个通用HTTP组件的时候遇到过媒体(Media)类型multipart/form-data的封装问题,这篇文章主要简单介绍一下HTTP协议中媒体类型multipart/form-dat ...
- BeanUtils属性转换工具
commons 包的 BeanUtils 进行属性拷贝性能较差:Spring 的 BeanUtils 性能相对较好. public class A { private String name; pri ...
- Globally-Robust Neural Networks
目录 概 主要内容 代码 Leino K., Wang Z. and Fredrikson M. Globally-robust neural networks. In International C ...
- Java高级程序设计作业目录(作业笔记)
持续更新中............. Java高级程序设计笔记 • [目录] 我的大学笔记>>> 第1章 IO流>>> 1.1.3 编写Java程序,在电脑硬盘里, ...
- 开一场自己的特斯拉灯光秀「GitHub 热点速览 v.22.01」
作者:HelloGitHub-小鱼干 新的一年开始了,本周特推是两款有意思的游戏,一个是末日生存游戏,让你有"危机感"地过好新的一年,而另外一款则是编程游戏,有代码就有一切的一款游 ...
- Go项目开源规范
我们为什么一定要知道开源规范呢? 一是,开源项目在代码质量.代码规范.文档等方面,要比非开源项目要求更高,在项目开发中按照开源项目的要求来规范自己的项目,可以更好地驱动项目质量的提高: 二是,一些大公 ...
- CSS 基础 选择器的使用汇总
1.后代选择器 html 结构 <div class='father'> <p>小哥哥 小姐姐</p> <div> <p>小帅锅</p ...
- 初识python 之 爬虫:爬取豆瓣电影最热评论
主要用到lxml的etree解析网页代码,xpath获取HTML标签. 代码如下: 1 #!/user/bin env python 2 # author:Simple-Sir 3 # time:20 ...
- JS 在使用hasOwnProperty()函数时报错
在使用hasOwnProperty()方法判断对象是否具有某种属性时eslint报下列错误: Do not access Object.prototype method 'hasOwnProperty ...