当前位置:网站首页>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
边栏推荐
猜你喜欢
MATLAB gcf figure save image with black background/transparent background
spark入门学习-1
常见分布式理论(CAP、BASE)和一致性协议(Gosssip、Raft)
生态剧变,电子签名SaaS模式迎来新突破,网络效应加速到来
一个文件管理系统的软硬件配置清单
[Unity Getting Started Plan] Basic Concepts (8) - Tile Map TileMap 02
How to analyze the weekly activity rate?
AI+BI+可视化,Sugar BI架构深度剖析
Windows 事件转发到 SQL 数据库
美国国防部更“青睐”光量子系统研究路线
随机推荐
Small Tools(4) 整合Seata1.5.2分布式事务
高可用版 主数据库数据结构改变 备数据库会自动改变吗
leetcode: 899. Ordered Queue [Thinking Question]
如何使用MATLAB绘制极坐标堆叠柱状图
不可忽略!户外LED显示屏的特点及优势
ffplay视频播放原理分析
5 v 8.4 v1A charging current charging management IC
socket快速理解
深入浅出Flask PIN
【翻译】关于扩容一个百万级别用户系统的六个课程
ReentrantLock详解
小熊派——无线联网开发
How to get the 2 d space prior to ViT?UMA & Hong Kong institute of technology & ali SP - ViT, study for visual Transformer 2 d space prior knowledge!.
MATLAB gcf figure save image with black background/transparent background
CopyOnWriteArrayList详解
Convex Optimization of Optimal Power Flow (OPF) in Microgrids and DC Grids (Matlab Code Implementation)
建造者模式/生成器模式
[Code Hoof Set Novice Village 600 Questions] Define a function as a macro
How much do you know about the intelligent operation and maintenance service of data warehouse based on DMS?
MATLAB | 七夕节快到了,还不给朋友安排上这个咕呱小青蛙?