2024年4月26日
摘要: 中等题(真题)-小乐乐与字符串(子序列个数问题) 题目: 思路: 这道题思路如果使用暴力法的话,时间复杂度为O(n^3),也比较简单,就不叙述了。 我们可以抓住目标字符串的特点, 从前往后计算C的个数(每遇到一次,就是多一个C次数所以countC++) 从前往后计算H的个数(每遇到一次,就是多cou 阅读全文
posted @ 2024-04-26 22:51 一个痴迷于技术的码农 阅读(2) 评论(0) 推荐(0) 编辑
  2024年4月23日
摘要: 题目: 思路: 排序:复杂度较高。两个字符串进行排序,然后开始比较两个字符串是否相等 哈希表:主要是一个hashmap记录第一个字符串所有字符出现的次数,然后遍历第二个字符串没找到一个就将次数减一。看最后所有的值是否为0. 时间复杂度选第二种,简单题罢了。 代码: 排序 class Solution 阅读全文
posted @ 2024-04-23 22:45 一个痴迷于技术的码农 阅读(1) 评论(0) 推荐(0) 编辑
  2024年4月21日
摘要: 真题-一个字符串中的最长重复子串(滑动窗口变种) 题目: 思路: 首先这不是求公共子串,所以不需要动态规划记录。然后一个string相当于就是一个Char[],所以直接滑动窗口来枚举最好做。 说白了,这道题就是求abc|abc的问题。其实就是可以看作是一个大的滑动窗口(包含两个小的窗口),并且大的窗 阅读全文
posted @ 2024-04-21 21:17 一个痴迷于技术的码农 阅读(6) 评论(0) 推荐(0) 编辑
  2024年4月19日
摘要: 移动石子直到连续(贪心) 题目: 思路: 这道题是有小技巧的,和一些棋盘题有些类似。利用贪心的极致选择,可以直接把情况划分完。 最少的移动次数: 当三个石子连续放置的时候,最小移动次数为0. 当三个石子中只要有两个石子的距离小于2,即可只需移动另外一个石子1次完成。 其他情况都是最小2次。左右直接贴 阅读全文
posted @ 2024-04-19 21:05 一个痴迷于技术的码农 阅读(1) 评论(0) 推荐(0) 编辑
  2024年4月18日
摘要: 无重复字符的最长子串(滑动窗口) 题目: 思路: 一 暴力法: 特殊情况,长度为0或者1 声明每次位置的最大长度,和最大的最大值(返回值) 双层循环,有点暴力 二 滑动窗口: ​ 基本概念:维持一个窗口(可以理解为队列),当新进来的元素与前面的重复,则把重复的元素及之前的元素全部忽略(可以理解为移出 阅读全文
posted @ 2024-04-18 20:30 一个痴迷于技术的码农 阅读(7) 评论(0) 推荐(0) 编辑
  2024年4月17日
摘要: 买卖股票的最佳时机 题目 这是一道简单题,这道题很明显是可以使用动态规划中的特殊思路:贪心算法。也是求最大。 思路: 先考虑初始返回值result,肯定是0,因为自己减自己。 遍历价格列表 prices 并执行两步: 更新前i天的最低价格,即最低买入价格minPrice; 更新前i天的最高利润 re 阅读全文
posted @ 2024-04-17 18:54 一个痴迷于技术的码农 阅读(3) 评论(0) 推荐(0) 编辑
  2023年9月21日
摘要: 符合死锁的四个条件: 互斥条件:一个时刻一个线程一个资源 请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。 不剥夺条件:线程已获得的资源,在未用完之前,不能被其他线程剥夺。 循环等待条件:若干线程形成头尾相接的循环等待资源关系。 如何预防和避免线程死锁: 破坏请求与保持条件:一次 阅读全文
posted @ 2023-09-21 09:40 一个痴迷于技术的码农 阅读(7) 评论(0) 推荐(0) 编辑
  2023年9月4日
摘要: 为什么你一直没有成就? 因你随波逐流,近墨者黑、不思上进,分钱没有、死爱面子!因为你畏惧你的父母、你听信你亲戚、你没有主张、你不敢一个人做决定。你观念传统、只想结婚生 子,然后生老病死、走你父母一模一样的路。因为你天生脆弱、脑筋迟钝只想做按班就部的工作。因为你想做无本的生意,你想坐在家里等天上掉陷饼 阅读全文
posted @ 2023-09-04 10:09 一个痴迷于技术的码农 阅读(2) 评论(0) 推荐(0) 编辑
  2020年6月17日
摘要: 第一:Mybatis框架介绍 最近看了一篇关于Mybatis的文章,发现MyBatis框架的核心功能其实不难,无非就是动态代理和jdbc的操作,难的是写出可扩展,高聚合,低耦合的规范的代码。 本文手写的Mybatis框架功能比较简单。对Mybatis框架源码理解的也不是很透彻,仅限帮助大家理解源码。 阅读全文
posted @ 2020-06-17 16:52 一个痴迷于技术的码农 阅读(332) 评论(0) 推荐(0) 编辑
  2020年5月22日
摘要: 所有的文件在Git上面都能找到,由于把代码搞上来看的很不舒服,结构不清晰。 第一步:确定环境 IDEA MySQL 5.7.19 Tomcat 9 Maven 3.6 第二步:创建数据库 参考GIT上面的SQL文件 第三步:新建Maven项目,基本目录搭建 1.导入Springmvc,Mybatis 阅读全文
posted @ 2020-05-22 18:46 一个痴迷于技术的码农 阅读(189) 评论(0) 推荐(0) 编辑