摘要: 为什么我们需要考虑并发?不考虑的话会出现什么问题? 并发的多个程序(进程/线程)会对计算机资源进行争夺,如果不加以控制会出现混乱、严重影响程序运行效率,甚至错误 首先是对CPU时间片的争夺 对于多线程编程而言,由于创建线程后,线程的执行顺序是由调度程序控制的,也就是说各个线程的执行顺序并没有一个确定 阅读全文
posted @ 2023-05-06 15:01 YaosGHC 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 其实叫“N 字形变换”更形象 第一版代码,在二维数组中模拟打印过程,但是时间和空间效率都很差,都是 n2 string convert(string s, int numRows) { int len = s.size(); // 如果只有一行或者只有一列则直接输出 if (numRows == 1 阅读全文
posted @ 2024-08-03 10:43 YaosGHC 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 思路是模拟从低位到高位的按位相加,需要考虑进位 public String addStrings(String num1, String num2) { int bitLen1 = num1.length() - 1, bitLen2 = num2.length() - 1; StringBuild 阅读全文
posted @ 2024-07-27 20:23 YaosGHC 阅读(1) 评论(0) 推荐(0) 编辑
摘要: public boolean checkPerfectNumber(int num) { int sum = 0; for (int i = 1; i <= num / 2; i++) if (num % i == 0) sum += i; return sum == num; } 阅读全文
posted @ 2024-07-27 19:47 YaosGHC 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 首先回顾我们对死锁的定义,通俗易懂地说就是双方在占有自己手上的资源时,需要对方手上的资源才能继续下去,但是双方又不愿意主动放弃自己手上的资源 用一个生活中通俗易懂的例子就是:对方道歉我就道歉 这个模型用代码实现最简单的框架是这样 public class MustDeadLock implement 阅读全文
posted @ 2024-07-24 15:21 YaosGHC 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 有点挫败,50 打车大老远跑一趟,笔试做了一个半小时,结果一句没通过连人都没见到。 客观来说题不算难但也算不上简单,面试体验真的差,特别讨厌在纸上写代码算法题 1. 根据年月日输出这是一年中的第几天(只能用 int,不能用 date) public static int calculateDays( 阅读全文
posted @ 2024-07-19 15:16 YaosGHC 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 场景 定义了一个字段,存储了一个 json 数组比如:[41,38,42],它的含义是一个线性的流程定义,所以保证顺序至关重要 现在使用 MyBatis Plus 的 API 方法去通过 ID 数组查询得到对象数组 List<ProcessNodePO> processNodeList = proc 阅读全文
posted @ 2024-04-25 10:31 YaosGHC 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 华硕科技的面试手写算法题,我没见过,分析出了思路但是没把握写出来能过,于是挂了 string convertToTitle(int columnNumber) { // 计算会有几位长度 long long temp = 26; int len = 1; while (columnNumber > 阅读全文
posted @ 2023-10-17 15:13 YaosGHC 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 虽然是都是选择题,但是有做不出来的,也有很不确定的,事后复盘有印象的一些题目 分区表是将一个表的数据按水平方式划分为不同的子集,从而可以更快速有效地访问数据子集,现有表R(A,B) 该表的如下SQL语句,如果基于列A对R进行范围分区,该分区方案能提高其性能的SQL语句是: SELECT A,SUM( 阅读全文
posted @ 2023-10-07 13:26 YaosGHC 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 第一想法是双指针,一个指针用于遍历,一个指针用于标记奇数和偶数的分界,而调整位置则通过交换来实现 思路来自于快排代码,分隔指针+交换,也算是双指针? vector<int> exchange(vector<int>& nums) { // 一个遍历指针,一个分隔指针,odd指向第一个偶数 int o 阅读全文
posted @ 2023-09-19 19:12 YaosGHC 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 思路 要求是从根节点开始的路径,这会比从任意节点开始的路径简单很多 思路是从根节点开始遍历每一条路径,如果和没有达到目标值就继续向下遍历 大于就回退,等于就返回到结果集中,可以看到这是一个回溯动作 实际过程中,首先不管是等于还是大于,回退pop()操作都要执行,这样才不会影响到后面 其次,这里要求必 阅读全文
posted @ 2023-09-19 18:54 YaosGHC 阅读(1) 评论(0) 推荐(0) 编辑