10 2022 档案

摘要:看起来仿佛跟Ⅰ没什么区别,但是事实上这里要返回环的起始节点,而Ⅰ只需要返回true/false 而且这里要求O(1)的空间复杂度 对应O(N)的空间复杂度是,每遍历一个节点,判断set中是否有这个节点,有就返回 还是用Ⅰ中的最优解法:快慢双指针 快指针两步一走,慢指针一步一走,原理是这样的: 对于有 阅读全文
posted @ 2022-10-31 17:42 YaosGHC 阅读(20) 评论(0) 推荐(0) 编辑
摘要:看复杂度要求是O(N^2^),是二层遍历比较吗?那又如何保存最长的字串呢?动态数组?有没有更好的做法? 感觉最长字串比最长子序列简单,因为它是连续的,完全可以从每个字符起始扫描,O(N^M^)时间复杂度 然后还可以做一点剪枝,比如:如果数组1剩下的长度小于目前找到的最大长度了,就可以直接返回结果 ~ 阅读全文
posted @ 2022-10-30 00:31 YaosGHC 阅读(27) 评论(0) 推荐(0) 编辑
摘要:系列题区别在于: 打家劫舍Ⅰ:线性数组dp 打家劫舍Ⅱ:环形数组dp 打家劫舍Ⅲ:(二叉)树型dp 打家劫舍Ⅱ 问题其实只会发生在最后一户,如果第一户被偷了,那它就不能被偷 那我循环每一户作为开始节点… 线性dp只能考虑它前面的步骤,否则就不成立… 好,我看到提示了,提示的意思是 第一户被偷了,第n 阅读全文
posted @ 2022-10-28 14:26 YaosGHC 阅读(29) 评论(0) 推荐(0) 编辑
摘要:动态规划是一种自底向上求最优子结构的算法类型 大概有几个分类 一维线性DP dp数组定义为:dp[i]表示前i个元素的最优结果,返回dp[n]就是整个数组的最优结果 这类型题有: 70-爬楼梯/跳台阶 模板题 121-买卖股票的最佳时机 需要一个额外的前i(不包括)最小成本 198-打家劫舍 需要前 阅读全文
posted @ 2022-10-28 14:22 YaosGHC 阅读(17) 评论(0) 推荐(0) 编辑
摘要:中位数的定义是什么?有序数列中位置中间的数字 如果中间位置有两个返回则他们的平均值,所以这里的返回值是个double 要求时间复杂度为log(m+n),也就是说只对两个数组做一次遍历,可以使用额外的空间,但是不能做额外的扫描 我想到了快速插入排序 扫描两个数组并做快速插入排序,但是其实我并不需要保存 阅读全文
posted @ 2022-10-27 15:29 YaosGHC 阅读(22) 评论(0) 推荐(0) 编辑
摘要:其实对链表的考察就是考察指针,不喜欢Java写算法题的一大原因就是Java没有指针 区间反转链表,相对于整体反转链表而言 回忆一下链表的整体反转,大概是两种做法 递归,从后往前处理 迭代,用三个指针(修改原指针的话只需要两个额外的) 这里感觉用迭代更直观容易些,回顾一下迭代是怎么反转链表的 List 阅读全文
posted @ 2022-10-27 11:45 YaosGHC 阅读(29) 评论(0) 推荐(0) 编辑
摘要:配合AOP原理 阅读全文
posted @ 2022-10-26 13:43 YaosGHC 阅读(15) 评论(0) 推荐(0) 编辑
摘要:讲一讲你这个项目 概述 这是一个单体的Web论坛项目,最大的特点是涉及的技术比较多,实现了诸多现实场景下的小功能,诸如: 后端验证码生成和校验 JWT登录认证 Redis实现点赞、关注、热帖排行和网站数据统计 背景 技术选型上是基于经典的SSM,用Spring Boot支持快速起步,提升开发效率,前 阅读全文
posted @ 2022-10-26 13:43 YaosGHC 阅读(157) 评论(0) 推荐(0) 编辑
摘要:被问到项目了,答得很差,单独开贴总结项目 介绍一下这个项目,有什么亮点? 这是一个自行实现的远程过程调用框架demo OS:眼不瞎也不需要你告诉我是个远程调用框架,干巴巴一句 功能是:实现在一台机器上(也就是客户端),像调用本地方法一样,通过传参,可以调用另一台机器(也就是服务器)上的函数或方法,并 阅读全文
posted @ 2022-10-26 13:41 YaosGHC 阅读(158) 评论(0) 推荐(0) 编辑
摘要:很明显是动态规划 这类字符串的动规问题一般是定义一个一维dp数组,dp[i]表示:前i个字符中XXX的长度 这里是否适用呢? 假设dp[i]表示前i个字符(包括i)中最长回文字符串的长度,能找到状态转移方程吗? 感觉有点麻烦,关键是这个回文的判断与递增长度的关系 看一眼题解 这里的动态规划没有直接着 阅读全文
posted @ 2022-10-26 11:14 YaosGHC 阅读(23) 评论(0) 推荐(0) 编辑
摘要:这里麻烦的在于两个情况 需要考虑进位的问题 每位数字是链表形式存储的,而且是逆序,这对想要从地位向高位相加,以及进位带来了麻烦 最直接的做法是把各位数字取出来处理后再构造一个新链表,但这肯定不是题目期望的 那么考虑在一条链表上原地操作 逆向的好处是已经从低位对齐了 那么我需不需要知道“哪一条链表更长 阅读全文
posted @ 2022-10-25 16:46 YaosGHC 阅读(22) 评论(0) 推荐(0) 编辑
摘要:坑,不能直接增强for,然后remove 要获取迭代器,但不甚了解怎么一会儿是next,一会儿又直接remove Iterator<Integer> iterator = nums.iterator(); while (iterator.hasNext()){ int temp = iterator 阅读全文
posted @ 2022-10-25 15:40 YaosGHC 阅读(18) 评论(0) 推荐(0) 编辑
摘要:### 动态规划 动态规划的思路是什么? 对于一段绳子,第一刀下去可以将绳子分成i和n-i两段,其中i的取值范围为[1,n-1] dp[n]表示n可分成的最大乘积和,`dp[n] = max(dp[n],max(i*n-i,i*f(n-i)))` 初始化:全部初始化为1 为什么有两层`max()`要 阅读全文
posted @ 2022-10-24 16:50 YaosGHC 阅读(21) 评论(0) 推荐(0) 编辑
摘要:我一直觉得这种SQL套题是自己明显的短板,之前海康的笔试也遇到了,这也可能是没能通过的一大原因 因为好像到目前为止,除了上《数据库原理》课的时候,其他时候基本都是写的非常简单的增删查改SQL 正文 题目如下: 建表,准备素材 这里省去了goods表的detail字段,同时也省去了外键 先填type表 阅读全文
posted @ 2022-10-24 16:12 YaosGHC 阅读(26) 评论(0) 推荐(0) 编辑
摘要:稍微想一想,用双指针去扫描两个字符串就是不现实的 然后就是三步走 动态规划 dp数组定义 定义一个二维数组,dp[i][j]表示从第一个字符串i个位置为止,到第二个字符串第j个位置为止,最长公共子序列的长度 状态转移方程 第i个位置和第j个位置是否相等? 如果相等 dp[i][j] = max(dp 阅读全文
posted @ 2022-10-19 17:56 YaosGHC 阅读(87) 评论(0) 推荐(0) 编辑
摘要:被问到,答不上来 其实关于在索引段中使用OR的情况要细分 如果只有一个是索引段 比如这里只有cid是索引,就走的全表扫描 那么改成union all呢? 只有前一句走了索引 如果是关了index merge的两个单索引呢? 可以看到是分别走了两个索引 原本是什么样的? 尽管分别都有索引,但是仍然走的 阅读全文
posted @ 2022-10-18 15:24 YaosGHC 阅读(54) 评论(0) 推荐(0) 编辑
摘要:起因 换服务器了,从阿里换到腾讯云 1是想尝试下不同得云服务器提供商,操作一遍云迁移的过程 2是阿里那边1核2G感觉有点不够用,我想要一个2核4G的,但是那边没有便宜的学生机 那边续费96(原1740),这边100(原1200),感觉是不是腾讯云本身就比阿里云便宜了一大截? 过程记录 服务器准备 关 阅读全文
posted @ 2022-10-17 17:33 YaosGHC 阅读(764) 评论(0) 推荐(0) 编辑
摘要:今天CVTE电话面试被问到了,答不上来 我们先看测试数据 = NULL 查询结果为空 IS NULL IS NULL可以查询到想要的值 结果分析 =NULL判断某个值是否等于NULL SQL中NULL是一种特有的数据类型,等价于没有任何值,是未知数 与0、""都不同,甚至不等于自己 因此**NULL 阅读全文
posted @ 2022-10-17 11:50 YaosGHC 阅读(261) 评论(0) 推荐(0) 编辑
摘要:C++ B组 一直想着复盘的,去年确实很羞耻,什么结果都没有还搭了几百块钱 题D-修建灌木 第一反应想着模拟,但是很明显用代码模拟这个过程过于复杂 然后发现第一次遍历后就是个对称重复的过程,想着这是道数学题 愣是没做出来 事实上这是道观察题? 题解 假设点i刚被修剪完为0,然后会向右/向左跑一趟,端 阅读全文
posted @ 2022-10-16 20:49 YaosGHC 阅读(24) 评论(0) 推荐(0) 编辑
摘要:采用归并排序对链表进行排序可以达到O(n log n)的时间复杂度 使用自底向上的迭代写法可以将空间复杂度从O(N)降低到O(1) 但是官方的写法对我来说实在是太难以理解了,尝试了两次都未果 或许可以步步走,先尝试归并排序的迭代写法/链表排序的归并写法 阅读全文
posted @ 2022-10-15 21:54 YaosGHC 阅读(17) 评论(0) 推荐(0) 编辑
摘要:多线程编程,我这边找到三类题 多线程操作同一个变量 多线程循环打印ABC 多线程实现生产者消费者模式 踩坑 这里有一个坑,除了main线程和自己创建的线程,会多出来一个 Monitor这个线程是IDEA的,而且只有启动运行才有,调试运行没 多线程操作同一个变量 题目描述:利用100个线程,每个线程将 阅读全文
posted @ 2022-10-10 15:41 YaosGHC 阅读(41) 评论(0) 推荐(0) 编辑
摘要:01背包 相关题目 快手2020-秋招笔试-工程B卷-编程1-集合划分问题 力扣-416-分隔等和子集 ACWing-2-01背包 int package01(const vector<vector<int>>& things,const int volume,const int n) { vect 阅读全文
posted @ 2022-10-09 10:10 YaosGHC 阅读(15) 评论(0) 推荐(0) 编辑
摘要:int maxDepth(TreeNode* root) { if (!root) return 0; int left = maxDepth(root->left); int right = maxDepth(root->right); // 返回二叉树的深度 // 只要当前节点不为空,深度至少都 阅读全文
posted @ 2022-10-08 11:22 YaosGHC 阅读(16) 评论(0) 推荐(0) 编辑

🚀
回顶
收起
点击右上角即可分享
微信分享提示