自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 快乐数(简单)

如果在找的过程中,哈希表中已存在当前数,则证明进入了环路,也就是死循环了!5.1.创建一个慢指针,一次走一步,再创建一个快指针,一次走两步。5.3.若指针移动过程中,找到了 1,则当前数是一个快乐数。5.2.当快慢指针相遇,代表形参环路,该数不是快乐数。首先,我们肯定可以使用哈希表记录过程值,若找到 1,皆大欢喜。此时,我们就可以判断当前数不是一个快乐数了~编写一个算法来判断一个数。

2024-09-30 11:00:39 129

原创 上升的温度(简单)

1、可以使用“diffdate(a.日期, b.日期) = 1”或者“timestampdiff(day, a.日期, b.日期) = -1”,以此为基准,提取表中的数据,这里先用diffdate进行操作。

2024-09-30 10:14:15 134

原创 删除重复的电子邮箱(简单)

2、拿着第1条记录去表p2查找满足WHERE的记录,代入该条件p1.Email = p2.Email AND p1.Id > p2.Id后,发现没有满足的,所以不用删掉记录1。4、拿着第3条记录去表p2查找满足WHERE的记录,发现有一条记录满足,所以要从p1删掉第3条记录。5、3条记录遍历完,删掉了1条记录,这个DELETE也就结束了。1、从表p1取出3条记录。

2024-09-30 09:56:15 168

原创 第十行(简单)

请只打印这个文件中的第十行。

2024-09-30 09:49:21 120

原创 有效电话号码(简单)

你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)给定一个包含电话号码列表(一行一个电话号码)的文本文件。,写一个单行 bash 脚本输出所有有效的电话号码。你也可以假设每行前后没有多余的空格字符。

2024-09-29 17:22:20 143

原创 位1的个数(简单)

编写一个函数,获取一个正整数的二进制形式并返回其二进制表达式中设置位 的个数(也被称为。

2024-09-29 16:53:52 134

原创 颠倒二进制位(简单)

【代码】颠倒二进制位(简单)

2024-09-29 16:44:02 301

原创 Excel表序列号

1、初始化结果 ans = 0,遍历时将每个字母与 A 做减法,因为 A 表示 1,所以减法后需要每个数加 1,计算其代表的数值 num = 字母 - ‘A’ + 1。2、因为有 26 个字母,所以相当于 26 进制,每 26 个数则向前进一位。以 ZY 为例,Z 的值为 26,Y 的值为 25,则结果为。,表示 Excel 表格中的列名称。该列名称对应的列序号。3、所以每遍历一位则。

2024-09-29 15:41:56 210

原创 Excel表列名称(简单)

3、一般性的进制转换题目无须进行额外操作,是因为我们是在「每一位数值范围在 [0,x)」的前提下进行「逢 x 进一」。但本题需要我们将从 1 开始,因此在执行「进制转换」操作前,我们需要先对 columnNumber 执行减一操作,从而实现整体偏移。2、对于一般性的进制转换题目,只需要不断地对 columnNumber 进行 % 运算取得最后一位,然后对 columnNumber 进行 / 运算,将已经取得的位数去掉,直到 columnNumber 为 0 即可。

2024-09-29 15:01:52 250

原创 从不订购的客户(简单)

【代码】从不订购的客户(简单)

2024-09-27 10:57:56 211

原创 查找重复的电子邮箱(简单)

1、聚合函数(count),where字句无法与聚合函数一起使用。因为where子句的运行顺序排在第二,运行到where时,表还没有被分组。2、如果要对分组查询的结果进行筛选,可以使用having子句。

2024-09-27 09:50:06 130

原创 超过经理收入的员工(简单)

【代码】超过经理收入的员工(简单)

2024-09-27 09:40:50 186

原创 组合两个表(简单)

3、考虑到有的人可能没有地址信息,要是查询结构要查所有人,需要保留表1(Person)里的全部数据,所以用左联结(left join)1、从表的结构可以看出,表1(Person)是人的姓名信息,表2(Address)是人的地址信息。4、两个表联结条件:两个表通过personId产生联结。2、查询结果是两个表里的列名,所以需要多表查询。

2024-09-27 09:26:22 197

原创 二叉树的后序遍历(简单)

给你一棵二叉树的根节点。2、用一个栈(非递归)3、用两个栈(非递归)

2024-09-26 11:30:37 169

原创 二叉树的前序遍历(简单)

2、用一个栈(非递归)1、直接递归就可以了。

2024-09-26 11:18:27 186

原创 验证回文串(简单)

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个。字母和数字都属于字母数字字符。3、将字母全部转化为。

2024-09-26 10:45:18 146

原创 路径总和(简单)

的路径,这条路径上所有节点值相加等于目标和。2、该解法的想法是一直向下找到。,说明找到了一条符合要求的路径。和一个表示目标和的整数。是指没有子节点的节点。1、深度优先遍历DFS。

2024-09-26 10:35:47 248

原创 Ubuntun/Linux系统安装ITK-SNAP

点击以上的版本号进入下载页面,选择自己喜欢的Linux版本,软件嘛,当然是用新不用旧。点击解压后的文件进入bin目录双击itksnap就可以打开软件了。点击后进行下载,并且移动到自己喜欢的目录下,并且进行解压。然后输入自己电脑账户的密码就可以打开。然后保存退出后就成功桌面创建快捷方式了。在控制台输入以下命令。

2024-09-25 16:38:14 251

原创 二叉树的最小深度(简单)

3、如果为其他情况,则说明当前节点有值,且需要分别计算其左右子树的最小深度,返回最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。的左子树和右子树都为空时,说明此处树的高度为。给定一个二叉树,找出其最小深度。叶子节点是指没有子节点的节点。为空时,说明此处树的高度为。

2024-09-25 12:42:32 179

原创 平衡二叉树(简单)

1、思路是构造一个获取当前子树的深度的函数 depth(root) ,通过比较某子树的左右子树的深度差 abs(depth(root.left) - depth(root.right)) <= 1 是否成立,来判断某子树是否是二叉平衡树。若所有子树都平衡,则此树平衡。给定一个二叉树,判断它是否是平衡二叉树。

2024-09-25 12:12:59 250

原创 相同的树(简单)

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。,编写一个函数来检验这两棵树是否相同。当两个都不为空但是值不相等时,返回。1、当两棵树的当前节点都为。给你两棵二叉树的根节点。

2024-09-25 11:55:22 318

原创 删除排序链表中的重复元素(简单)

3、当 cur.val 和 cur.next.val 相等时说明需要去重,则将 cur 的下一个指针指向下一个的下一个,这样就能达到去重复的效果。的存在为循环结束条件,当二者有一个不存在时说明链表没有去重复的必要了。4、如果不相等则 cur 移动到下一个位置继续循环。删除所有重复的元素,使每个元素只出现一次。给定一个已排序的链表的头。

2024-09-25 11:45:55 209

原创 爬楼梯(简单)

1、设跳上 n 级台阶有 f(n) 种跳法。在所有跳法中,青蛙的最后一步只有两种情况: 跳上 1 级或 2 级台阶。当为 1 级台阶: 剩 n−1 个台阶,此情况共有 f(n−1) 种跳法。当为 2 级台阶: 剩 n−2 个台阶,此情况共有 f(n−2) 种跳法。你有多少种不同的方法可以爬到楼顶呢?

2024-09-25 10:00:21 112

原创 x的平方根(简单)

于是我们知道:由于输出结果的时候,需要将小数部分舍去,因此问题的答案,平方以后一定不会严格大于输入的整数。3、上一个整数的平方根肯定不会超过它自己的一半,但是 0 和 1 除外,因此可以在 1 到输入整数除以 2 这个范围里查找要找的平方根整数。如果这个整数的平方 严格大于 输入整数,那么这个整数肯定不是我们要找的那个数;2、如果这个整数的平方 恰好等于 输入整数,那么我们就找到了这个整数;如果这个整数的平方 严格小于 输入整数,那么这个整数。由于返回类型是整数,结果只保留。是我们要找的那个数;

2024-09-25 09:52:13 305

原创 在Linux(Ubuntu)上手动安装pycharm(包含创建快捷方式)

但是有个问题,我的ubuntu经过以上的操作后,我的pycharm图标不显示,但是pycharm可以打开,但是我有强迫症所以一直在寻找方法解决!打开pycharm软件(我这是汉化过的),找到工具,pycharm就有创建快捷方式的功能。然后在空白位置右键打开终端,运行命令./pycharm.sh即可把pycharm打开了。以上的打开pycharm的方法大家可能觉得很麻烦,所以创建快捷方式到桌面非常有必要!我选择的是专业版的Linux版本压缩包,看各自喜欢吧--哈哈哈哈,点击下载即可。然后输入自己账户的密码。

2024-09-24 18:00:13 465

原创 二进制求和

1、整体思路是将两个字符串较短的用 0 补齐,使得两个字符串长度一致,然后从末尾进行遍历计算,得到最终结果。2、在进行计算时直接拼接字符串,会得到一个反向字符,需要最后再进行翻转。,以二进制字符串的形式返回它们的和。给你两个二进制字符串。

2024-09-24 16:07:14 150

原创 加一(简单)

最极端的情况是例如数组为[9,9,9],最后只要从后往前取余赋值为0,然后申请一个长度为原数组长度+1的新数组,并赋值给就久数组,然后数组第一个元素赋值为1即可。2、如果从后往前都没有出现9+1=10这种进位的情况,则之间返回+1后的数组即可。3、如果出现9+1 或者 99+1这种情况则依次从后往前地。你可以假设除了整数 0 之外,这个整数不会以零开头。最高位数字存放在数组的首位, 数组中每个元素只存储。数组所表示的非负整数,在该数的基础上加一。1、从后往前遍历数组的每一个元素。

2024-09-24 15:37:07 302

原创 最后一个单词的长度(简单)

单词的长度。

2024-09-24 14:25:39 178

原创 寻找两个正序数组的中位数(困难)

所以可以采用递归的思路,为了防止数组长度小于 k/2,所以每次比较 min(k/2,len(数组) 对应的数字,把小的那个对应的数组的数字排除,将两个新数组进入递归,并且 k 要减去排除的数字的个数。此时两个数组,k/2取2,所以比较第 2 个数字,3 < 5,所以可以把小的那个数组中的 1 ,3 排除掉了。从上边可以看到,无论是找第奇数个还是第偶数个数字,对我们的算法并没有影响,而且在算法进行中,k 的值都有可能从奇数变为偶数,最终都会变为 1 或者由于一个数组空了,直接返回结果。我们比较两个数组的第。

2024-09-24 10:34:29 543

原创 杨辉三角II(简单)

2、根据题目的提示要求使用O(rowIndex)空间复杂度,在创建杨辉三角形时,我们可以在二维数组中只创建rowIndex这么多行的一维数组。1、这道题和我之前发布的杨辉三角形几乎来说是一模一样的(具体可以看我的上一篇博客)3、然后返回最后一行也就是(rowIndex行)的一维数组就行了。,返回「杨辉三角」的第。

2024-09-20 17:43:13 199

原创 杨辉三角(简单)

生成「杨辉三角」的前 numRows。给定一个非负整数 numRows。

2024-09-20 11:48:51 194

原创 螺旋矩阵ll (中等)

b、更新边界:例如从左到右填完后,上边界 t += 1,相当于上边界向内缩 1距离;4、使用num <= tar而不是l < r || t < b作为迭代条件,是。a、执行 num += 1:得到下一个需要填入的数字;,矩阵中心数字无法在迭代过程中被填充的问题。所有元素,且元素按顺时针顺序螺旋排列的。,然后模拟整个向内环绕的填入过程。2、定义当前左右上下边界。

2024-09-20 11:14:49 269

原创 搜索插入位置(简单)

因为退出while循环后,left > right,此时有两种情况: 一种是middle指向的值大于target(此时middle是第一个大于target的下标),此时right=middle-1导致了left大于right, 而target要插入的位置是middle的位置,即left,因为left和middle相等 另一种是middle指向的值小于target,此时left=middle+1导致了left大于right,而target要插入的位置是middle+1的位置,即left。

2024-09-20 10:05:23 226

原创 移除元素(简单)

3、返回去重后的数组长度,就是k(注意,虽然k从0开始,但是最后一个不相等于val的数移动后,k还会+1,即等于去重后的数组长度)2、从前往后遍历数组,只要找到与不等于val值的数直接移到k下标的数组位置。元素的顺序可能发生改变。1、初始化一个k=0,作为原数组的新下标。

2024-09-19 11:19:31 189

原创 删除有序数组中的重复项(简单)

3、遍历数组,把不重复的数往前移动到k的位置,直到遍历完整个数组,最后返回去重后的数组长度和数组。1、不需要考虑数组中超出新长度后面的元素(这句话也是重点)2、定义一个变量k,是原数组中可移动的下标。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。

2024-09-19 10:50:25 324

原创 最长公共前缀(简单)

5、最后让ans与空字符串比较(可能整个字符串数组都没有公共前缀),若为空则返回空字符串。2、从第二个字符串strs[i]开始遍历,寻找ans和strs[i]的最长公共前缀。1、先令字符串数组的第一个字符串为ans(也就是最长公共前缀)编写一个函数来查找字符串数组中的最长公共前缀。4、下一轮遍历(直到遍历完整个字符串数组)如果不存在公共前缀,返回空字符串。3、更新ans的值(截取)输入不存在公共前缀。

2024-09-10 14:49:16 193

原创 罗马数字转整数(简单)

数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为。其实就是相当于一个虚拟前后双指针从前往后移动计算的一个过程,对比前后指向的数字的大小进行加法减法操作。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做。1、当小值在大值的左边时,做减法,例如:IV=5-1=4。2、当小值在大值的右边时,做加法,例如:VI=5+1=6。给定一个罗马数字,将其转换成整数。,即为两个并列的 1。

2024-09-10 14:08:53 381

原创 回文数(简单)

题目:给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。是指正序(从左向右)和倒序(从右向左)读都是一样的整数。1211231、如果输入的是负数,则一定不是回文数,直接返回false2、如果输入的是正数,则计算其倒序数值,和原数值进行比较,是回文数返回true,否则返回false3、比如回文数121的倒序是121,是相同的,非回文数123的倒序是321,是不相同的。

2024-09-09 18:00:12 178

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除