摘要: 1. 单体架构(巨石架构) 单体架构是一种将所有功能打包在一个容器中运行的设计风格; 一个实例中集成了一个系统的所有功能; 通过负载均衡软件/设备实现多实例调用 1.1 单体架构的优点 易开发、易调试、易部署,运维方便,在开发小型项目重有独特的优势,给个人开发应用的时候比较合适。 1.2 单体架构的 阅读全文
posted @ 2022-06-29 12:11 小白的学习 阅读(722) 评论(0) 推荐(0)
摘要: 1. 针对问题 LeetCode198 -- https://leetcode.cn/problems/house-robber/ LeetCode213 -- https://leetcode.cn/problems/house-robber-ii/ 2. 分析问题 213 是在198的基础上进行 阅读全文
posted @ 2022-06-09 19:58 小白的学习 阅读(45) 评论(0) 推荐(0)
摘要: Java中的位操作 static int Integer.bitCount(); // 统计 1 的数量 static int Integer.highestOneBit(); // 获得最高位 static String toBinaryString(int i); // 转换为二进制表示的字符串 阅读全文
posted @ 2022-05-09 18:39 小白的学习 阅读(36) 评论(0) 推荐(0)
摘要: 前序、中序、后序遍历 可以看一下LeetCode144、145/94 1. 使用递归实现前、中、后序遍历 1.1 前序: void dfs(TreeNode root) { visit(root); dfs(root.left); dfs(root.right); } 1.2 中序 void dfs 阅读全文
posted @ 2022-05-06 15:42 小白的学习 阅读(198) 评论(0) 推荐(0)
摘要: 调用库函数Arrays.sort 冒泡排序BubbleSort 快速排序QuickSort 归并排序MergeSort 堆排序HeapSort 1. 调用库函数Arrays.sort import java.util.Arrays; public class Solution { public in 阅读全文
posted @ 2022-04-28 19:52 小白的学习 阅读(57) 评论(0) 推荐(0)
摘要: LC241和LC95使用分治法,这两个题比较有套路,之后有分治法,可以参考参考这个套路来进行。 LC241: class Solution { public List<Integer> diffWaysToCompute(String expression) { int n = expression 阅读全文
posted @ 2022-04-27 11:01 小白的学习 阅读(60) 评论(0) 推荐(0)
摘要: 二分法(LeetCode34) 二分法强烈建议看看LC34。 二分法(折半查找),时间复杂度O(logN) 关于中间的取法 mid = l + (r - l) / 2; 最好不要使用 mid = (r + l) / 2; 原因是当 l 和 r比较大的时候会超出int所能存储的值 LC34 要找到最左 阅读全文
posted @ 2022-04-26 21:28 小白的学习 阅读(69) 评论(0) 推荐(0)
摘要: 今天来分享两个算法,分别是LeetCode406和LeetCode763。 LeetCode406的解法比较巧妙,将身高从高到低进行排序,后将所处的位置从到高进行排序,之后使用java中List,按照所处位置进行插入。(这是我认为结题比较巧妙的地方,巧用数据结构进行结题)。 LeetCode406的 阅读全文
posted @ 2022-04-25 22:37 小白的学习 阅读(90) 评论(0) 推荐(0)
摘要: LeetCode中设计股票的有以下的几个问题: 121. 买卖股票的最佳时机 122. 买卖股票的最佳时机 II 123. 买卖股票的最佳时机 III 188. 买卖股票的最佳时机 IV 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳时机含手续 其中121是个简单题,比较简单,就不详细 阅读全文
posted @ 2022-04-23 15:09 小白的学习 阅读(71) 评论(0) 推荐(0)