当前位置:网站首页>leetcode SVM
leetcode SVM
2022-08-03 16:02:00 【Anan.3】
20. 有效的括号
此题是运用到数据结构中的栈,把左括号都入栈,当遇到右括号出栈进行比较,判断是否能够匹配,匹配成功则输出true,反之输出false
bool isValid(char * s){
char *p=(char *)malloc(strlen(s));
int i,j=0;
for(i=0;i<strlen(s);i++){
if(s[i]=='(' || s[i]=='{' || s[i]=='['){
p[j++]=s[i];
}
if(s[i]==')'){
if(j-1<0 || p[j-1]!='('){
return 0;
}else{
j--;
}
}else if(s[i]=='}'){
if(j-1<0 || p[j-1]!='{'){
return 0;
}else{
j--;
}
}else if(s[i]==']'){
if(j-1<0 || p[j-1]!='['){
return 0;
}else{
j--;
}
}
}
free(p);
if(j){
return 0;
}
return 1;
}
378. 有序矩阵中第 K 小的元素
本题用冒泡排序会超时,因此我选择了qsort,对数组进行排序
int cmp(const void *a,const void *b){
return (*(int *)a - *(int *)b);
}
int kthSmallest(int** matrix, int matrixSize, int* matrixColSize, int k){
int *b=(int *)malloc(matrixSize * matrixSize * sizeof(int));
int num=0;
for(int i=0;i<matrixSize;i++){
for(int j=0;j<matrixSize;j++){
b[num++]=matrix[i][j];
}
}
qsort(b,num,sizeof(int),cmp);
return b[k-1];
}
206. 反转链表
定义指针cur,用来遍历链表,定义prev,存储cur上一个节点的位置,next,保存cur下一个节点的位置,通过prev和cur来调整每个节点指针的方向,next用来迭代,最后返回头指针head
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */
struct ListNode* reverseList(struct ListNode* head){
struct ListNode *prev=NULL;
struct ListNode *cur=head;
while(cur!=NULL){
struct ListNode *next=cur->next;
cur->next=prev;
prev=cur;
cur=next;
}
head=prev;
return head;
}
141. 环形链表
使用前后指针法,slow一次走一步,fast一次走两步,如果存在环,那么他们最终会在环中相遇,设为meet,如果不存在环,fast可能走到空或者最后一个节点 ,此时返回空.存在环,slow和fast会在环中meet处相遇,此时一个指针从head开始走,一个指针从meet开始走,他们会在环的入口处相遇
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */
bool hasCycle(struct ListNode *head) {
struct ListNode *slow=head,*fast=head;
while(fast&&fast->next){
slow=slow->next;
fast=fast->next->next;
if(slow==fast){
struct ListNode *meet=slow;
while(head!=meet){
head=head->next;
meet=meet->next;
}
return meet;
}
}
return NULL;
}
237. 删除链表中的节点
本题可以将后一个节点的值赋给要删除的节点,然后用要删除的节点代替后一个节点,释放掉后一个节点
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */
void deleteNode(struct ListNode* node) {
struct ListNode *p=node->next;
node->val=p->val;
node->next=p->next;
free(p);
}
SVM
边栏推荐
- 一文看懂推荐系统:召回03:基于用户的协同过滤(UserCF),要计算用户之间的相似度
- 我写了个”不贪吃蛇“小游戏
- 袁小林:沃尔沃专注于出行的安全感,并且把它做到极致
- STM32 GPIO LED和蜂鸣器实现【第四天】
- Leetcode76. 最小覆盖子串
- 字典表(还需要输入2个字)
- ECCV 2022 | Relational Query-Based Temporal Action Detection Methods
- 为教育插上数字化的翅膀,网易云信发布「互联网+教育」整体解决方案
- STM32 GPIO LED and buzzer implementation [Day 4]
- 元宇宙系列--Value creation in the metaverse
猜你喜欢
基于DMS的数仓智能运维服务,知多少?
Fortinet产品导入AWS AMI操作文档
ECCV 2022 | Relational Query-Based Temporal Action Detection Methods
QT QT 】 【 to have developed a good program for packaging into a dynamic library
如何使用MATLAB绘制极坐标堆叠柱状图
MATLAB | 七夕节快到了,还不给朋友安排上这个咕呱小青蛙?
如何启动 NFT 集合
我写了个”不贪吃蛇“小游戏
[Unity Getting Started Plan] Basic Concepts (8) - Tile Map TileMap 02
小熊派——无线联网开发
随机推荐
ReentrantReadWriteLock详解
1、实例开启无锁表结构变更以后,在任务编排中通过“单实例SQL”节点进行的结构变更,是优先采用无锁表
移动应用出海,你的“网络优化”拖后腿了吗?
【Unity入门计划】基本概念(6)-精灵渲染器 Sprite Renderer
简易网络传输方法
window.open不显示favicon.icon
罗克韦尔AB PLC RSLogix5000中创建新项目、任务、程序和例程的具体方法和步骤
生态剧变,电子签名SaaS模式迎来新突破,网络效应加速到来
MarkDown常用代码片段和工具
土耳其国防部:联合协调中心将对首艘乌克兰粮船进行安全检查
【Unity入门计划】基本概念(8)-瓦片地图 TileMap 02
Interpretation of the 2021 Cost of Data Breach Report
请问下阿里云全托管flink能执行两条flink sql命令么?
unity用代码生成LightProbeGroup
为教育插上数字化的翅膀,网易云信发布「互联网+教育」整体解决方案
基于DMS的数仓智能运维服务,知多少?
不可忽略!户外LED显示屏的特点及优势
《安富莱嵌入式周报》第276期:2022.07.25--2022.07.31
DataGrip数据仓库工具
"Avnet Embedded Weekly" Issue 276: 2022.07.25--2022.07.31