自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【算法题】用户积分当作概率来设计的抽奖算法

不知道还有其他啥简单的方法不。

2022-09-05 19:49:34 482 1

原创 【leetcode/力扣】283.移动零

没啥总结。哦,忘了特殊条件了,如果输入 == null ,则 return;

2022-08-30 17:28:39 206

原创 【leetcode/力扣】178.分数排名

总体来说稍微偏难的一道题。其实花了我最多时间的反而是写法上的小细节,还要多注意,这个题可以以后多联几遍。呃,其实还有个更简单的方法直接用dense_rank() over就行了···

2022-08-08 14:52:13 820

原创 【leetcode/力扣】595.大的国家

反转了,我做错了,没考虑=的情况而且把OR搞成AND了。那没事了。

2022-08-08 14:11:46 1275

原创 【leetcode/力扣】176.第二高的薪水

一般order by desc 然后limit offset 就能查到第二高的数据。但是要注意如果有多个一样的薪水就会出问题,所以SELECT后面加一个DISTINCT来排除相同的数据。同时如果只有一个薪水数据,或者所有的薪水数据都是相同的,那么所谓的“第二高的薪水”就不存在了,所以什么都查不出来(连null也没有),但是我们看到题目是要要求返回null的,所以我们在外部在嵌套一个查询,这样自查询虚表就会返回null了。...

2022-08-08 14:09:05 1491

原创 【leet/code】181.超过经理收入的员工

总体还是比较简单。

2022-08-08 12:16:57 59

原创 【leetcode/力扣】217.存在重复元素

两个方法都是很经典的。

2022-08-07 01:54:35 190

原创 【从零开始的算法学习】数组中的字符串匹配——leetcode\力扣

没啥,就一个简单题。虽然评论区有别人弄得很复杂的“更优解法”,但是看了下优化空间都不大而且有人还是负优化。

2022-08-06 09:32:02 139

原创 【从零开始的算法学习】两数之和——leetcode\力扣

没什么特别的。

2022-07-23 11:40:37 76

原创 【从零开始的算法学习】计算股票最大收益——leetcode\力扣

有两个思路:第一个是两个for循环,直接找最大利润的。第二个是先找到最小的数字,然后找这个数字往后的最大数字,计算利润。2、很棒的一次便利这个需要脑袋转一下弯,先看if,就是如果当前的price是最低的话,那么它就不可能和前面的某个数产生最大利润,所以就执行else if 里面的内容。所以else if里面才是经常执行的内容,就是只要当前这个数不是最小的数,那么就计算利润,如果最大,那么就替换当前的最大利润。说实话这个算法写的真挺好,时间复杂度也更低。前面写的太复杂了,其实就一句话其实一般

2022-07-05 18:24:26 1405

原创 【简单编程】入参两个String,返回类型为String,要求输出数字之和。

其实就要求在计算之前把Int转换成String,然后在计算之后把String又转换回Int。所以之前就用Integer.parseInt()方法来转换(同理float就用Float.parseFloat(),然后再用Integer.toString()转换回String。Int转换成String也可以用valueOf区别就是valueOf()返回的是一个Integer包装类,而parseInt()是直接返回Int型。具体了解可以搜"Int和Integer的区别"。...

2022-07-01 18:29:51 343

原创 【简单算法】快速排序的实现

快速排序的实现方式一般是,取第一个数字作为基准数,同时从数组头和尾安排两个哨兵。右边的哨兵一直向左搜寻直到找到第一个大于基准数的数,左边的哨兵一直向又搜寻直到找到第一个大于基准数的数,将两个数交换位置。如此往复直到左右的哨兵都停在中间的同一个数上为止。然后再用递归对左半边和右半边做同样的操作。1、为什么要让右边的哨兵先动?第一次排序结束为什么中间那个数直接扔到左边去了?仔细想了一下其实两个问题其实是同一个问题,虽然是比较简单的原理,但是csdn上很多讲快排的其实都没直接说。因为一直是右边的哨兵先动

2022-07-01 18:04:08 116

原创 【简单算法】冒泡排序的实现

冒泡排序的大致实现方法是:从前往后依次对相邻的两个数比较大小,如果前一个大于后一个则交换位置。第一轮下来之后,唯一可以确定的一件事就是现在。如此,我们不管最后一个数字,再进行第二次排序,第二次排序之后能确定,。如果反复,最终就能够完成一次冒泡排序,同时注意代码当中两个for的写法。...

2022-07-01 17:07:06 577

原创 【从零开始的算法学习】两数相加——leetcode\力扣

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。具体的思路就是新建一个链表来存储新的相加之后的数字。使用n1、n2两个变量来获取每个位上的数并且相加,同时用int carry来存储上一位的进位(carry是“进位”的英文单词)。同时最后加法做完之后别忘了最后有可能还需要进位。这里的 int n1 = l1 != nul

2022-06-08 17:12:45 137 1

空空如也

空空如也

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

TA关注的人

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