当前位置:网站首页>2022.6.28
2022.6.28
2022-07-06 19:47:00 【bu_xiang_tutou】
早上:学习《MySQl必知必会》学到了第5章,html,一些标签(meta等);
中午:
题解:
我的思路是把链表中的数放进一个数组里面,然后再将数组中的数反转进链表中。这个思路怎么使用在链表的长度不是很长的时候。时间复杂度为O(n),空间复杂度为O(n)
代码入下:
/**
* 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* reverseList(ListNode* head) {
ListNode *p;
p=head;
int i=0;
vector<int> a(5001);
while(p!=NULL){
a[i]=p->val;
i++;
p=p->next;
}
p=head;
for(int j=0;j<i;j++){
p->val=a[i-j-1];
p=p->next;
}
return head;
}
};
优化:使用链表可以优化,思路是在遍历链表时,将指针反转(由指向为next反转为prev);
空间复杂度为O(1)。
class Solution {
public:
ListNode* reverseList(ListNode* head){
ListNode* p = NULL;
ListNode* c = head;
while (c!=NULL) {
ListNode* next = c->next;
c->next = p;
p = c;
c = next;
}
return p;
}
};
题目:3. 无重复字符的最长子串 - 力扣(LeetCode)
题解: 1.用一个数记录当前最长的子串长度。不断更新。
2.用一个数组记录当前字符有没有出现过,如果出现过,数组的值为该字符上一次出现的位置。如果没有出现,数组的值为0。
3.遍历数组,如果当前字符没有出现过,就接着走,重新加载最长的子串长度,然后将数组的值全部改成0,如果出现过,就找到这个字符上一次出现的位置,如果是当前位置的前一个就把数组的值改成当前位置,反之将之前出现过字符数组的值再一次赋值。
4.时间复杂度为O(n^2)。
代码如下:
class Solution {
public:
int lengthOfLongestSubstring(string s) {
if(s.size()==0)
return 0;
int nums[500],maxx=1,j=0;
memset(nums,0,sizeof(nums));
nums[s[0]-NULL]=1;
for(int i=1;i<s.size();i++){
if(nums[s[i]-NULL]==0){//之前没有出现
nums[s[i]-NULL]=i+1;
maxx=max(maxx,i-j+1);//求最长的子串
}else{//之前出现过
j=nums[s[i]-NULL];//找到重复字符出现的位置
memset(nums,0,sizeof(nums));
if(s[i-1]==s[i]){
j=i;
nums[s[i]-NULL]=i+1;
}else{
for(int k=j;k<=i;k++)
nums[s[k]-NULL]=k+1;
}
}
}
return maxx;
}
};
题解:有思路但是代码写不出来,看了一下hashmap的源码更懵逼了。
MySQL的刷题
边栏推荐
- A complete tutorial for getting started with redis: AOF persistence
- Read fast RCNN in one article
- Redis入门完整教程:复制配置
- Use of tensorboard
- How to analyze fans' interests?
- 2022 information security engineer examination outline
- Intelligent static presence detection scheme, 5.8G radar sensing technology, human presence inductive radar application
- Appx代码签名指南
- Data analysis from the perspective of control theory
- Construction of knowledge map of mall commodities
猜你喜欢
QT Bluetooth: qbluetooth DeviceInfo
The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?
Redis入门完整教程:复制拓扑
Starting from 1.5, build a micro Service Framework -- log tracking traceid
2022 spring recruitment begins, and a collection of 10000 word interview questions will help you
A complete tutorial for getting started with redis: AOF persistence
Babbitt | metauniverse daily must read: is IP authorization the way to break the circle of NFT? What are the difficulties? How should holder choose the cooperation platform
Le tube MOS réalise le circuit de commutation automatique de l'alimentation principale et de l'alimentation auxiliaire, et la chute de tension "zéro", courant statique 20ua
LeetCode 77:组合
巴比特 | 元宇宙每日必读:IP授权是NFT的破圈之路吗?它的难点在哪里?Holder该如何选择合作平台?...
随机推荐
Kubernetes源码分析(二)----资源Resource
杰理之开 BLE 退出蓝牙模式卡机问题【篇】
How to write test cases for test coupons?
巴比特 | 元宇宙每日必读:IP授权是NFT的破圈之路吗?它的难点在哪里?Holder该如何选择合作平台?...
Summary of research status of inertial navigation calibration at home and abroad (abridged version)
Unity使用MaskableGraphic画一条带箭头的线
Utilisation de la promesse dans es6
PSINS中19维组合导航模块sinsgps详解(滤波部分)
The solution of unable to create servlet file after idea restart
Redis入门完整教程:客户端管理
Redis introduction complete tutorial: client case analysis
tensorboard的使用
MOS transistor realizes the automatic switching circuit of main and auxiliary power supply, with "zero" voltage drop and static current of 20ua
Nuggets quantification: obtain data through the history method, and use the same proportional compound weight factor as Sina Finance and snowball. Different from flush
uniapp适配问题
制作(转换)ico图标
Le tube MOS réalise le circuit de commutation automatique de l'alimentation principale et de l'alimentation auxiliaire, et la chute de tension "zéro", courant statique 20ua
「小样本深度学习图像识别」最新2022综述
美国空军研究实验室《探索深度学习系统的脆弱性和稳健性》2022年最新85页技术报告
Use of promise in ES6