笔试
流浪车手
每天都希望自己进步一点点。
展开
-
国庆节也来刷刷题!力扣:148. 排序链表
题目:力扣题目要求nlgn的时间复杂度完成排序。那么时间复杂度为nlgn的排序算法大概有三种:1.快排2.堆排3.归并快排不怎么合适,需要不停地交换结点,而且还需要维护双指针,可能不太合适堆排更不太合适了,也依赖于数组归并虽然也依赖于数组,但是依赖性没那么大,是一种分治的思想自顶向下:public class Solution1 { public ListNode sortList(ListNode head) { if (head =原创 2021-10-02 17:22:51 · 141 阅读 · 0 评论 -
力扣:146. LRU 缓存机制
题目转载自:力扣https://leetcode-cn.com/problems/lru-cache/解答:public class LRUCache { class CacheNode { Integer key; Integer value; CacheNode prePointer; CacheNode nextPointer; public CacheNode(Integer key, .原创 2021-09-18 12:52:52 · 156 阅读 · 0 评论 -
力扣:142. 环形链表 II
题目转载自:力扣分析:这一题题目要求使用O(1)的时间复杂度来解。然后大概有两种解法来做,下面分别来介绍一下:首先判断链表是否有环,如果有环的话,先将指针定位到环内(可以通过快慢指针来将两个指针在环内相遇,这样就能定位到环内的结点了)。在拿到环内结点的情况下有以下两种方法来解题:1.因为是一个环,所以我们可以分别指向环内的每个点,然后在确定了环内固定点之后这里用P1代表环内的固定点,声明一个指针指向链表头部这里用P2代表头结点,然后P2移动每次前移一步,P1不动,用一个整型变量.原创 2021-09-17 14:31:04 · 142 阅读 · 0 评论 -
力扣:96. 不同的二叉搜索树
初拿到这题时,很自然的就想到用递归来做。然后就有了下面的解法,最终执行没问题,只是超时了,明天优化一下。public class Solution { public int numTrees(int n) { if (n == 1) { return 1; } int res = 0; for (int i = 1; i <= n; i++) { // 把 i 当成...原创 2021-09-08 00:05:32 · 124 阅读 · 0 评论 -
力扣:84. 柱状图中最大的矩形 && 85. 最大矩形
待补充原创 2021-09-05 12:34:07 · 151 阅读 · 0 评论 -
力扣76:最小覆盖子串 深夜和刷题很配~
题目描述:https://leetcode-cn.com/problems/minimum-window-substring/public class Solution1 { public String minWindow(String s, String t) { if (s.equals(t)) { return s; } // s 字符串 t 目标串 Map<String, Integ原创 2021-09-01 01:36:35 · 91 阅读 · 0 评论 -
力扣62题:不同路径
题目转载自:https://leetcode-cn.com/problems/unique-paths/(如有侵权,将会删除)分析:刚看到题目的时候,内心os:这不就用回溯就可以做了吗,简单!然后就有了下面的代码:package lc.lc62;public class FirstSolution { public int uniquePaths(int m, int n) { if (m == n && m == 1) { ...原创 2021-08-17 17:36:03 · 130 阅读 · 0 评论 -
力扣:49.字母异位词分组
数据库一般有两个术语:1.数据库文件指的是数据库数据保存的文件2.数据库实例指的是用于处理数据库文件的进程,mysql为单进程多线程模型。mysql实例在操作系统中的表现就是一个实例。Mysql的组成部分:连接池组件管理服务和工具组件SQL接口组件查询分析器组件优化器组件缓冲组件插件式存储引擎物理文件...原创 2021-08-14 14:34:46 · 171 阅读 · 0 评论 -
力扣46.全排列
注:题目转载自leetcode,https://leetcode-cn.com/problems/permutations/dfs:package lc.lc46;import java.util.ArrayList;import java.util.List;public class FirstSolution { public List<List<Integer>> permute(int[] nums) { if (nums ==..原创 2021-08-12 20:53:13 · 96 阅读 · 0 评论 -
力扣42题:接雨水
给定n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9来源:力扣(LeetCode)链接:https://leetcode-...原创 2021-08-11 23:20:30 · 114 阅读 · 0 评论 -
leetcode39.组合总和
题目地址:https://leetcode-cn.com/problems/combination-sum/分析原创 2021-08-07 12:23:17 · 53 阅读 · 0 评论 -
剑指offer-20题
很久没写了。。废话不多说,写吧。题目描述:代码:public class Design { public static boolean isNumeric(String str) { if (str == null || str.isEmpty()) { return false; } char stage = 'a'; int len = str.length(); boo原创 2021-03-22 23:36:19 · 86 阅读 · 0 评论 -
剑指offer-19题
最近比较忙(忙个鬼),所以好几天没刷题,还是要勤奋~来张吃火锅拍的照片,辣椒粉看的很过瘾,有木有~题目描述:代码:public class Design { public static boolean match(String str, String pattern) { if (str.isEmpty() || pattern.isEmpty()) { return false; } return m原创 2021-03-03 00:56:59 · 156 阅读 · 2 评论 -
剑指offer-18题
上篇博客里,还说,每天至少一道题,看来我食盐了- -。反正,这又不是我第一次食盐,嘿嘿嘿。题目描述:代码:class ListNode { int val; ListNode next; public ListNode(int val, ListNode next) { this.val = val; this.next = next; }}public class Design { public stat原创 2021-02-24 01:02:56 · 92 阅读 · 0 评论 -
剑指offer-16题
题目描述:代码:public class Design { static double PowerWithExponent(double base, int exponent) { // base为0的处理 if (base == 0) { if (exponent < 0) { return 0; } else { return 1;原创 2021-02-13 10:07:09 · 111 阅读 · 2 评论 -
剑指offer-15题
又是一年过年时,好几天没做题了,今天做一下吧,不能颓废。题目描述:代码:public class Design { public static int numberOfOne(int num) { int count = 0; int flag = 1; while (flag != 0) { if ((num & flag) != 0) { count++; .原创 2021-02-09 16:59:21 · 123 阅读 · 1 评论 -
剑指offer-位运算示例题
题目描述:在微软产品Excel中,用A表示第1列,B表示第2列...,Z表示第26列,AA表示第27列,AB表示第28列...以此类推。 现在给你一个数,输出它的列编码解答:(26进制转换题,需要注意的是这里没有0这个数字了)public class DesignExtra { private static final Integer HEX = 26; private static final Character BEGIN = (char) ('A' - 1);..原创 2021-02-07 10:22:56 · 96 阅读 · 0 评论 -
剑指offer-14题
前两天有点小事情,所以就断更了两天,其实还是懒。今天来继续刷刷剑指offer吧。今天需要用到的知识点是动态规划跟贪心算法。首先能用动态规划来解决的问题一般有如下四个特点:1.问题的目的是求最优解。2.问题可以被拆分位若干个小问题,整体的最优解依赖其子问题的最优解,也可以说整体最优解可以由子问题的最优解组合得来。3.大问题可以被拆分为若干个子问题,子问题之间还有重叠的子问题。4.由于有共同的子问题,那么在求大问题最优解的时候可以从上往下分析,求解的时候可以从下往上求解,可以复用子问原创 2021-02-06 21:31:58 · 98 阅读 · 0 评论 -
剑指offer-13题
又是忙碌的一天过去了(太虚伪了,好像并不忙),回来先把衣服洗一洗。然后做一下题目吧,接着昨天的开始做,今天要做第13题了。首先是,题目描述:然后是解法(还是DFS):public class Design { public static int movingCount(int m, int n, int k) { boolean[][] visited = new boolean[m][n]; return deepMoveFirst(m, n,原创 2021-02-02 22:52:34 · 139 阅读 · 0 评论 -
剑指offer-12题
今天下班回到住的地方还算早,九点多一丢丢就到住的地方了,然后趁机洗了个香香,整个人神清气爽。然后打开电脑,想着还是写一道题吧,那就剑指offer从昨天的地方接着看吧。OK,第12题,是一道回溯法相关的题,一般也都是用dfs深度优先遍历来解题的。题目描述:代码:public class Design { public static boolean hasPath(char[][] matrix, String str) { int len = matrix.len原创 2021-02-02 00:03:23 · 103 阅读 · 0 评论 -
剑指offer-11题
由于工作比较忙,就趁着工作间隙刷刷剑指offer和leetcode吧。尽量每天打卡题目描述:题目解答:public class Design { public static int getMinNumFromNums(int[] nums) { if (nums == null || nums.length == 0) { return Integer.MIN_VALUE; } int begin = 0;.原创 2021-01-31 22:59:38 · 90 阅读 · 0 评论 -
58同城 走棋盘题
package fiveEightTongcheng;/*题目描述: 现有一个地图,由横线与竖线组成(参考围棋棋盘),且左上角为起点,终点为右下角 每次行走只能沿线移动到临近的点,并累加路径计算一个人从地图的起点走到终点的最 小路径为多少 输入 m*n 代表m行n列 输入矩阵 dp递推方程比较容易想出 */import java.u...原创 2019-09-13 16:11:22 · 574 阅读 · 0 评论