题一:有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。示例 2:输入:s="()[]{}"输出:true思路一: 第一步:写出数组栈的结构体,然后分别写出栈的初始化,入栈,出栈,获取栈顶元素,销毁栈,检验栈是否为空的函数; 第二步:创建一个结构体变量,初始化,while(*s)决定是否继续循环,用switch找到对应的前置符号将他们入栈,如果是后置符号,则先判断ps中是否为空,然后再判断是否有对应的前
文章目录题目思路代码题目1572.矩阵对角线元素的和难度:简单描述:给你一个正方形矩阵mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。返回合并后的二叉树。注意:合并过程必须从两个树的根节点开始。示例1:输入:mat=[[1,2,3],[4,5,6],[7,8,9]]输出:25解释:对角线的和为:1+5+9+3+7=25请注意,元素mat[1][1]=5只会被计算一次。示例2:输入:mat=[[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]]输出:8示例3:输入:mat=[[5]]输出:5提示:-n==mat.
目录选择题:题一:题二:题三:题四:题五:编程题:题一:数组颠倒思路一:题二:单词倒排思路一:思路二:本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵!感谢大佬们的一键三连! 感谢大佬们的一键三连! 感谢大佬们的一键三连!选择题:题一:1、请阅读以下程序,其运行结果是()intmain(){ charc='A'; if('0' printf("YES"); else printf("NO"); return0;}A:YES B:NO C:YESNO D:语句错
本篇主要以理解结构为主!!! 题一:用队列实现栈示例:输入:["MyStack","push","push","top","pop","empty"][[],[1],[2],[],[],[]]输出:[null,null,null,2,2,false]解释:MyStackmyStack=newMyStack();myStack.push(1);myStack.push(2);myStack.top();//返回2myStack.pop();//返回2myStack.empty();//返回False思路一: 初始化:初始化队列Q1,Q2;入栈
❓剑指Offer48.最长不含重复字符的子字符串难度:中等请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例1:输入:“abcabcbb”输出:3解释:因为无重复字符的最长子串是“abc”,所以其长度为3。示例2:输入:“bbbbb”输出:1解释:因为无重复字符的最长子串是“b”,所以其长度为1。示例3:输入:“pwwkew”输出:3解释:因为无重复字符的最长子串是“wke”,所以其长度为3。请注意,你的答案必须是子串的长度,“pwke”是一个子序列,不是子串。提示:s.length注意:本题与3.无重复字符的最长子串相同。💡思路:动态规划定义dp数组,dp[i
一丶数据库名称:SchoolDB二丶数据库表信息:角色信息表表名:t_role 主键:r_id序号字段名称字段说明类别位数属性备注1r_id角色编号int 主键自动增长2r_name_EN角色名(英文)varchar20非空不能重复3r_name_CH角色名(中文)varchar20非空不能重复4r_remark说明简介nvarchar500非空默认为“男” 数据库表信息:班级信息表表名:t_class主键:c_id序号字段名称字段说明类别位数属性备注1c_id班级编号int 主键自动增长2c_classname班级名varchar20非空不能重复 数据库表信息
今天分享的是一道牛客网上面的题目,链接在下面有序序列合并这道题做法有很多,最简单的是合并一起,然后用排序就行了,今天将一个最高效的办法,思路是两个数组第一项进行比较,小的先输出,输出的那个数组的下标往后移动,然后再进行比较,如果是另一个数组小,那先输出那个,然后那个数组下标往后移动,依次这样,就能把两个数组合并进行输出了。#includeintmain(){ intarr1[1000]; intarr2[1000]; intn=0; intm=0; scanf("%d%d",&n,&m); inti=0; for(i=0;in;i++) { scanf("%d",&arr1[i]); } f
目录选择题:题一:题二:题三:题四:题五:编程题:题一:记负均正思路一:题二:旋转数组的最小数字思路一:选择题:题一:1、已知函数的原型是:intfun(charb[10],int*a);,设定义:charc[10];intd;,正确的调用语句是()A:fun(c,&d); B:fun(c,d); C:fun(&c,&d); D:fun(&c,d);题二:2、请问下列表达式哪些会被编译器禁止【多选】()inta=248,b=4;intconst*c=21;constint*d=&a;int*conste=&b;intconst*constf=&a;A:*c=32; B:*d=43
❓剑指Offer12.矩阵中的路径难度:中等给定一个m*n二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的3×4的矩阵中包含单词"ABCCED"(单词中的字母已标出)。示例1:输入:board=[[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]],word=“ABCCED”输出:true示例2:输入:board=[[“a”
题目地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0,0]的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格[35,37],因为3+5+3+7=18。但它不能进入方格[35,38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?示例1:输入:m=2,n=3,k=1输出:3示例2:输入:m=3,n=1,k=0输出:1提示:10解题思路1.题目要求我们求出机器人能够到达多少个格子,对于这道题我们依旧采用深度优先搜索来解决。2.首先