leetcode
刷题笔记
Axiaoph
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 10- I. 斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n = 5输出:5来源:力原创 2021-06-29 21:23:13 · 142 阅读 · 0 评论 -
7. 整数反转
给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0提示:-231 <= x <= 231 - 1来源:力扣(LeetCode)链原创 2021-02-01 12:35:39 · 71 阅读 · 0 评论 -
9. 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 ture ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。示例 4:输原创 2021-01-31 23:34:40 · 80 阅读 · 0 评论 -
5. 最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl原创 2021-01-31 23:11:25 · 248 阅读 · 0 评论 -
归并排序
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。public class Hello { public static void sort(int[] arr){ int[] temp = new int[arr.length]; sort(a原创 2021-01-30 22:00:15 · 72 阅读 · 0 评论 -
快速排序
快速排序之所比较快,因为相比冒泡排序,每次交换是跳跃式的。每次排序的时候设置一个基准点,将小于等于基准点的数全部放到基准点的左边,将大于等于基准点的数全部放到基准点的右边。这样在每次交换的时候就不会像冒泡排序一样每次只能在相邻的数之间进行交换,交换的距离就大的多了。因此总的比较和交换次数就少了,速度自然就提高了。当然在最坏的情况下,仍可能是相邻的两个数进行了交换。因此快速排序的最差时间复杂度和冒泡排序是一样的都是O(N2),它的平均时间复杂度为O(NlogN)。其实快速排序是基于一种叫做“二分”的思想。代原创 2021-01-30 21:16:35 · 59 阅读 · 0 评论 -
插入排序
插入排序算法分析插入排序算法有种递归的思想在里面,它由N-1趟排序组成。初始时,只考虑数组下标0处的元素,只有一个元素,显然是有序的。然后第一趟 对下标 1 处的元素进行排序,保证数组[0,1]上的元素有序;第二趟 对下标 2 处的元素进行排序,保证数组[0,2]上的元素有序;……第N-1趟对下标 N-1 处的元素进行排序,保证数组[0,N-1]上的元素有序,也就是整个数组有序了。它的递归思想就体现在:当对位置 i 处的元素进行排序时,[0,i-1]上的元素一定是已经有序的了。 .原创 2021-01-30 00:16:54 · 69 阅读 · 0 评论 -
冒泡排序
冒泡排序有两种写法:第一种:score[j] 和 score[j+1] 比较 如果 前者比后者小,把前者和后者调换顺序,两两调换后一轮下来 最小的会被排到最后去。每一轮j都从0开始,当i轮排序,就有最后面的i个数字因为他是最小的,所以后面的每轮都不用理他了。 int[] array = {44,4,55,67,34,8,23}; System.out.println("排序之前:"); for(int num:array){ System.ou原创 2021-01-29 23:40:34 · 80 阅读 · 0 评论 -
选择排序
1)原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。(这里只介绍常用的简单选择排序)2)简单快速排序的基本思想:给定一个数组int[] array = {…},第一趟排序,在待排序的数据array[1] ~ array[n] 中选择出最小的数据,将它与array[1]交换,第二趟,在待排序的arr原创 2021-01-29 22:37:18 · 110 阅读 · 0 评论 -
3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是原创 2021-01-28 16:00:18 · 103 阅读 · 0 评论 -
2. 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9], l2 =原创 2021-01-27 18:47:20 · 460 阅读 · 2 评论 -
缀点成线
在一个 XY 坐标系中有一些点,我们用数组 coordinates 来分别记录它们的坐标,其中 coordinates[i] = [x,y] 表示横坐标为 x、纵坐标为 y 的点。 请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回 true,否则请返回false。 示例 1:输入:coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]] 输出:true 示例 2:输入:coordinates = [[1,1],[2,2],[3,4],[.原创 2021-01-17 15:52:21 · 129 阅读 · 0 评论 -
从 XML 中构建 SqlSessionFactory
从 XML 中构建 SqlSessionFactory## 标题每一个基于MyBatis的应用都是以一个sqlSessionFactory的实例为核心的。sqlSessionFactory的实例可以通过sqlSessionFactoryBuilder获得。sqlSessionFactoryBuilder则可以从XML配置文件或预先定制的Configuration的实例构建出sqlSession...原创 2019-08-13 21:42:38 · 1221 阅读 · 0 评论 -
1994: 报时助手
1994: 报时助手时间限制: 1 Sec 内存限制: 512 MB 提交: 104 解决: 44 [提交] [状态] [讨论版] [命题人:外部导入]题目描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是:如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“three o’clock”。如果m不为0,则将时...原创 2019-06-11 22:20:50 · 416 阅读 · 0 评论 -
1250: 有多高
1250: 有多高时间限制: 1 Sec 内存限制: 128 MB 提交: 457 解决: 140 [提交] [状态] [讨论版] [命题人:admin]题目描述 Little Jing有很多标杆,已知每个标杆的长度(不超过10000),现在她要把标杆插在地上,相同长度的标杆要接在一起(一个接在另外一个的上面)。LittleJing想知道最后地上插了多少根杆,你能帮帮她吗?输入 首...原创 2019-06-11 20:34:08 · 237 阅读 · 0 评论