碳基肥宅_社区达人页

个人头像照片
碳基肥宅
已加入开发者社区997

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布108篇文章
16条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • Java
  • 前端开发
  • 开发框架
擅长领域
技术认证

编程爱好者,原CSDN@碳基肥宅

暂无精选文章
暂无更多信息

2024年05月

  • 05.27 20:56:21
    发表了文章 2024-05-27 20:56:21

    Java多线程基础-7:wait() 和 notify() 用法解析

    这篇内容探讨了Java中的`wait()`和`notify()`方法在多线程编程中的使用。
  • 05.27 20:50:00
    发表了文章 2024-05-27 20:50:00

    简单介绍一下什么是“工作内存”和“主内存”(JMM中的概念)

    该文介绍了Java多线程中`volatile`关键字确保内存可见性的概念。
  • 05.27 20:38:58
    发表了文章 2024-05-27 20:38:58

    遍历思路与子问题思路:详解二叉树的基本操作(二)

    这篇内容介绍了二叉树的基本操作,包括通过遍历和子问题思路来解决不同的问题。
  • 05.27 20:30:24
    发表了文章 2024-05-27 20:30:24

    遍历思路与子问题思路:详解二叉树的基本操作 (一)

    这篇内容介绍了二叉树的基本概念和操作,包括二叉树的结构定义以及一些基本操作如前序遍历、中序遍历、后序遍历、获取树中节点个数等。
  • 05.27 20:30:00
    发表了文章 2024-05-27 20:30:00

    Java多线程基础-5:线程状态与状态的转移

    本文介绍了Java中线程的五种状态:NEW、TERMINATED、RUNNABLE、TIMED_WAITING和BLOCKED,并提供了代码示例来展示状态转换。
  • 05.27 20:15:49
    发表了文章 2024-05-27 20:15:49

    "ava多线程基础-4:详解Thread类及其基本用法(二)

    本文介绍了Java中线程中断和等待的相关概念。
  • 05.27 20:03:41
    发表了文章 2024-05-27 20:03:41

    Java多线程基础-4:详解Thread类及其基本用法 (一)

    Java 中的 `Thread` 类是用来管理线程的,每个线程都是通过 `Thread` 类的对象来描述。
  • 05.27 19:49:42
    发表了文章 2024-05-27 19:49:42

    Java多线程基础-3:进程与线程间的区别的联系

    进程是操作系统中运行的应用程序,具有独立内存空间,包含代码、数据和堆栈,是资源分配的最小单位,而线程是CPU调度的最小单位,是进程内的执行任务,多个线程可共享进程资源。
  • 05.27 19:43:47
    发表了文章 2024-05-27 19:43:47

    "如何使用 jconsole 查看Java进程中线程的详细信息? "

    当Java程序运行时,其中的一些线程也正在执行。我们可以用第三方工具 jconsole 来查看Java进程中线程的执行情况和详细信息,这有助于我们对多线程编程的理解。
  • 05.27 19:38:30
    发表了文章 2024-05-27 19:38:30

    "Java多线程基础-2:简介虚拟地址空间——保障进程间独立性的机制 "

    如何保障进程之间这样的独立性?操作系统采用了“虚拟地址空间”的方式。
  • 05.27 19:33:38
    发表了文章 2024-05-27 19:33:38

    Java多线程基础-1:通俗简介操作系统之进程的管理与调度

    操作系统是一个复杂的软件,具备许多功能。其中,进程的管理与调度是与我们密切相关的。本文将对操作系统功能中进程管理与调度作出介绍。
  • 05.27 19:27:01
    发表了文章 2024-05-27 19:27:01

    "二叉树的性质与推导及常见习题整理 "

    这篇内容介绍了二叉树的一些性质及其推导。
  • 05.27 19:20:28
    发表了文章 2024-05-27 19:20:28

    Java程序设计实验3 | 面向对象(上)(二)

    分数的分子和分母用两个整型数表示,类所拥有的方法包括对分数进行加、减、乘、除等运算,以及输出分数的方法,输出分数的格式应该是:分子/分母。
  • 05.27 19:02:44
    发表了文章 2024-05-27 19:02:44

    Java程序设计实验3 | 面向对象(上)(一)

    实验目的是理解和掌握面向对象编程的基本概念,包括类的声明、实例化和调用,方法及构造方法的定义,方法重载,值传递和地址传递,以及使用this关键字和static关键字。
  • 05.27 10:45:31
    发表了文章 2024-05-27 10:45:31

    Java程序设计实验2 | Java语言基础(一)

    掌握变量的命名是否符合Java关于标识符的命名规则。
  • 05.27 10:45:27
    发表了文章 2024-05-27 10:45:27

    Java程序设计实验2 | Java语言基础(二)

    分别用do-while和for循环计算1+1/2!-1/3!+1/4!-1/5!…的前20项之和。
  • 05.27 09:37:25
    发表了文章 2024-05-27 09:37:25

    DAY-2 | 哈希思想:求字符串包含的字符集合

    这是一个关于代码实现的问题,主要展示了两种利用哈希思想去除字符串中重复字符的方法。第一种方法使用了`boolean[] flg`数组来标记字符是否出现过,遍历字符串时,如果字符未出现则添加到结果并标记为已出现。第二种方法使用`char[] ch`数组直接存储字符出现状态,先遍历一次字符串记录出现过的字符,再遍历一次输出未标记的字符。
  • 05.27 08:30:25
    发表了文章 2024-05-27 08:30:25

    DAY-1 | Java数据结构之链表:删除无头单链表中等于给定值 val 的所有节点

    力扣203题解:使用时间复杂度为O(n)的思路删除链表中所有值为key的元素。引入辅助指针pre,记录cur的前一个节点,遍历链表时,若cur.val!=key,pre和cur同时前进;若cur.val==key,则pre.next=cur.next,cur继续前进,确保pre不急于跟随以处理连续相同值的情况。遍历结束后,处理头节点可能需要删除的特殊情况。
  • 05.27 08:25:15
    发表了文章 2024-05-27 08:25:15

    ArrayList | 简单的洗牌算法

    这是一个关于创建和洗牌扑克牌程序的摘要: 程序包括以下步骤: 1. 创建一副扑克牌(52张,不包括大小王)。 2. 洗牌,随机打乱扑克牌的顺序。 3. 揭牌,模拟玩家轮流从牌堆中抽取指定数量的牌。
  • 05.27 08:16:53
    发表了文章 2024-05-27 08:16:53

    Java初识泛型 | 如何通过泛型类/泛型方法实现求数组元素最大值?

    这是一个关于如何使用泛型在Java中找到数组中最大值的问题。
  • 05.27 08:04:22
    发表了文章 2024-05-27 08:04:22

    Java集合类ArrayList应用 | 二维数组的集合类表示与杨辉三角实现

    这是一个关于LeetCode第118题“杨辉三角”的问题解答摘要。题目要求生成一个杨辉三角的前n行,其中每一行都是由前一行的元素按规则生成的。杨辉三角的规律是:每一行的第一个和最后一个数是1,其他数是其上方两数之和。
  • 05.27 08:03:50
    发表了文章 2024-05-27 08:03:50

    Java初识泛型 | 如何通过泛型类/泛型方法获取任意类型的三个数的最大值?

    本文介绍了如何使用Java中的泛型来实现一个可以比较任意数值类型最大值的功能。。
  • 05.27 07:45:22
    发表了文章 2024-05-27 07:45:22

    Java集合类ArrayList应用 | 如何在字符串s1中删除有在字符串s2出现的字符?

    这是一个关于Java编程面试题的摘要,题目要求从字符串s1中删除s2中存在的字符。解题思路包括使用ArrayList或StringBuilder实现。ArrayList实现时,遍历s1,如果字符不在s2中,则添加到ArrayList;StringBuilder实现有两种方法,一是新建StringBuilder并追加s1,然后遍历删除s2中的字符,二是直接在原地修改s1的StringBuilder对象。代码示例中展示了这些方法。
  • 05.27 07:39:03
    发表了文章 2024-05-27 07:39:03

    C语言文件操作详解(上)(二)

    本文详细介绍了C语言中的文件操作,包括fopen()、fclose()、fread()、fwrite()、fgetc()、fputc()、fgets()、fputs()、fscanf()和fprintf()等函数的使用。这些函数分别用于文件的打开、关闭、读取、写入和格式化输入输出。文章还通过示例代码解释了如何读取和写入字符串、结构体等数据,并提到了标准输入流(stdin)、标准输出流(stdout)和标准错误流(stderr)。
  • 05.27 07:24:46
    发表了文章 2024-05-27 07:24:46

    C语言文件操作详解(上)(一)

    这段内容主要介绍了C语言中文件操作的基本概念和常用函数。
  • 05.27 07:08:04
    发表了文章 2024-05-27 07:08:04

    C语言实验-动态顺序表实现简易通讯录(二)

    在这个C语言实验中,你将实现一个简单的通讯录,它使用动态顺序表来存储联系人信息。
  • 05.27 07:01:11
    发表了文章 2024-05-27 07:01:11

    C语言实验-动态顺序表实现简易通讯录(一)

    本文介绍了使用C语言模拟实现通讯录的步骤,包括使用动态顺序表存储联系人信息,每个联系人包含姓名、性别、电话和住址。功能包括新增、查找、删除、修改和查看联系人信息,以及按关键词排序。代码示例展示了如何定义联系人结构体、通讯录顺序表,以及主函数中的菜单选择和输入处理。文章还强调了在读取用户输入时避免出现死循环的问题,并提供了初始化和销毁通讯录的函数,以及如何判断和增加通讯录容量的方法。
  • 05.27 06:53:25
    发表了文章 2024-05-27 06:53:25

    常见的动态内存错误总结(二)

    本文总结了两种常见的动态内存错误:内存泄漏和野指针。在示例代码中,内存泄漏发生于动态分配内存后未进行释放,导致程序结束时内存无法回收。野指针问题出现在函数返回栈上创建的变量地址,由于栈空间销毁,指针变成无效,访问时会导致错误。文章强调了使用`static`修饰局部变量可以延长其生命周期以避免野指针,以及释放内存后应将指针置`NULL`以防止后续误用。
  • 05.27 06:45:58
    发表了文章 2024-05-27 06:45:58

    常见的动态内存错误总结(一)

    该文讨论了C语言中与动态内存和指针相关的常见问题。首先,强调了对NULL指针解引用的危险性,示例展示了未检查动态内存分配结果导致的问题,并指出`free()`函数传入NULL是安全的。接着,通过代码解释了指针传值调用时的陷阱,说明了为何直接调用`GetMemory(str)`无法改变`Test`函数中`str`的值。文章还提到了动态内存的越界访问和非法释放,包括释放非动态内存、只释放内存的一部分以及重复释放同一块内存的错误情况。最后,建议在释放内存后将指针设为NULL以防止后续误用。
  • 05.25 10:10:13
    发表了文章 2024-05-25 10:10:13

    C数据结构-翻转指针法、头插法实现单链表反转

    本文介绍以C语言实现无头单链表反转的算法:翻转指针法与头插法。
  • 05.25 09:59:04
    发表了文章 2024-05-25 09:59:04

    C库函数详解 - 内存操作函数:memcpy()、memmove()、memset()、memcmp() (二)

    `memset()`是一个C语言库函数,用于将指定内存区域的字节设置为特定值。函数原型为`void *memset(void *ptr, int value, size_t num)`,参数分别为指向内存起始位置的指针、要设置的值和设置的字节数。`memcmp()`函数则用于比较两个内存区域,返回值表示比较结果,原型为`int memcmp(const void *ptr1, const void *ptr2, size_t num)`。它比较指定字节数的内存,并根据比较结果返回整数值。
  • 05.25 09:50:24
    发表了文章 2024-05-25 09:50:24

    C库函数详解 - 内存操作函数:memcpy()、memmove()、memset()、memcmp() (一)

    `memcpy()` 和 `memmove()` 是C语言中的两个内存操作函数。 `memcpy()` 函数用于从源内存区域复制指定数量的字节到目标内存区域。它不处理内存重叠的情况,如果源和目标区域有重叠,结果是未定义的。函数原型如下: ```c void *memcpy(void *dest, const void *src, size_t num); ```
  • 05.24 23:12:08
    发表了文章 2024-05-24 23:12:08

    DAY-7 | 牛客-BM21 寻找旋转数组的最小元素:二分法分治思想真的很可靠

    这是一个关于编程题目的摘要:题目是牛客网上的"BM21 旋转数组的最小数字",要求找到旋转数组中的最小数字。题解介绍了使用二分查找算法来解决此问题,因为其时间复杂度优于暴力搜索的线性时间复杂度。二分查找的核心是通过比较中间元素与右端元素的大小,不断缩小搜索范围,最终找到最小值。代码示例展示了如何实现这个算法。总结中强调了二分查找适用于部分有序数组,并指出了解决这类问题的关键在于理解数组的二段单调性。
  • 05.24 23:11:33
    发表了文章 2024-05-24 23:11:33

    DAY-6 | 牛客-NC107 寻找峰值:二分法巧得峰值

    这是一个关于寻找数组峰值的编程问题,题目来源于牛客网的 NC107 题目。文章介绍了两种方法,其中重点讲解了使用二分法寻找峰值的思路:通过比较数组中点与相邻元素的大小,不断缩小搜索范围,直到找到峰值或范围只剩一个元素。二分法的时间复杂度为 O(logN),空间复杂度为 O(1)。文章还配有多张图解和代码示例来辅助理解。
  • 05.24 23:01:24
    发表了文章 2024-05-24 23:01:24

    刷题记录:牛客-WY49数对 | 以数学分析来破解暴力搜索的时间复杂度问题 2023/1/11

    这是一个关于编程题解的文章摘要,讨论了一道名为"WY49 数对"的问题。文章指出,暴力搜索的解决方案在大规模问题中效率低下,然后转向通过数学分析来寻找更优解。作者解释了如何根据除数和余数的关系,以及余数的周期性变化来计算满足条件的数对数量。通过将数对中的其中一个数(被模数x)按除数y划分区间,并分析每个区间的余数分布,得出一个公式来计算总数。最后,提供了两种不同的代码实现来展示这个思路,这些代码具有O(n)的时间复杂度和O(1)的空间复杂度。文章强调了理解数学方法在解决此类问题中的重要性,特别是对于优化算法性能的作用。
  • 05.24 23:00:38
    发表了文章 2024-05-24 23:00:38

    DAY-3 | 摩尔投票法:巧求众数问题

    LeetCode 链接:[Majority Element](https://leetcode.cn/problems/majority-element/)。这道题要求找到数组中出现次数超过数组长度一半的元素,也称为众数。文章介绍了使用摩尔投票法来解决此类问题,这种方法通过相互抵消的方式高效地找到多数元素。首先假设第一个元素是众数,然后遍历数组,遇到相同元素计数加一,不同元素计数减一,计数为零时更换假设的众数。最后计数不为零的元素即为众数。此外,还讨论了摩尔投票法的拓展应用和暴力统计的解法。
  • 05.24 22:53:04
    发表了文章 2024-05-24 22:53:04

    杨氏矩阵查找算法

    杨氏矩阵是一种特殊矩阵,其每一行和每一列都是递增的。要在一个杨氏矩阵中查找特定数值,可以从右上角或左下角开始,通过比较当前元素与目标值的大小来决定向下或向左移动,直到找到目标值或超出边界。这种方法的时间复杂度为O(N)。文中还提供了一段C语言代码实现此查找算法,并给出了牛客网上的相关练习题链接。
  • 05.24 22:44:23
    发表了文章 2024-05-24 22:44:23

    DAY-4 | 力扣 - 求自身以外数组的乘积:区间划分,左右累乘,巧求乘积

    该文档是关于LeetCode上的一道题目“Product of Array Except Self”的题解。提供了两种解题方法,一是暴力破解,即计算所有数的乘积后再逐个除以当前元素;二是左右累乘法,通过两次遍历数组分别计算左侧和右侧元素的乘积,避免了除法操作。其中,左右累乘法更优,代码实现中展示了这种方法。
  • 05.24 22:28:09
    发表了文章 2024-05-24 22:28:09

    DAY-2 | 哈希表、指针与区间划分:字符种数统计问题

    ```markdown ## 题干 [牛客网链接](https://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50) ## 题解 1. **查表法(哈希表)**:利用数组标记出现过的 ASCII 值小于127的字符,首次出现计数,重复则忽略。 2. **指针与区间划分(回头法)**:遍历字符串,对每个字符检查其前所有字符是否重复,重复则不计数。 ## 方法总结 - 哈希表在去重问题中非常实用,可多做相关练习。 - 使用`continue`时注意避免死循环,确保循环变量会改变。 - 多回顾此类问题以巩固理解。 ```
  • 05.24 22:15:56
    发表了文章 2024-05-24 22:15:56

    溢出、截断、类型提升:从易错代码入手分析整型数据存储与类型转换

    这篇文章介绍了关于数据在内存中的存储以及可能出现的溢出问题,包括整型数据的存储方式、取值范围以及溢出的现象和原因。文章通过例子和罗盘图解释了整型数据溢出时的计算过程,并指出在进行运算时要注意数据类型的转换和可能的溢出情况。此外,文章还给出了几个练习题,帮助读者理解和应用这些知识。
  • 05.24 21:56:47
    发表了文章 2024-05-24 21:56:47

    轮转数组问题:如何实现数组“整体逆序,内部有序”?“三步转换法”妙转数组 (二)

    这是一个关于字符串处理的问题,要求将一句话中的单词顺序倒置,但保持单词内部的字符顺序不变。例如,"I like beijing." 变为 "beijing. like I"。解决方法可以分为三个步骤:分块、内部逆序和整体逆序。代码示例使用C语言实现,通过指针和while循环操作字符串数组。最终总结提到,无论先逆置哪个部分,只要确保所有部分都逆置过,结果都是相同的。
  • 05.24 21:40:44
    发表了文章 2024-05-24 21:40:44

    轮转数组问题:如何实现数组“整体逆序,内部有序”?“三步转换法”妙转数组(一)

    这篇内容讲述了数组向右轮转k个位置的问题,主要分为两种解决思路。第一种是“轮转k次法”,直接在原数组上操作,每次循环k次,将数组末尾元素移到开头,时间复杂度为O(N*K),效率较低。第二种是“额外数组法”,使用额外数组存储部分元素,然后移动原数组元素,最后归还额外数组元素,时间复杂度和空间复杂度均为O(N)。文章还介绍了更高效的“三步转换法”,通过三次逆序操作实现数组轮转,分别是逆置后k个元素、逆置前n-k个元素以及整体逆置,这种方法时间复杂度为O(N)且空间复杂度为O(1)。
  • 05.24 21:18:36
    发表了文章 2024-05-24 21:18:36

    什么是“大小端字节序”存储模式?

    这篇内容讨论了计算机内存中存储整型变量的方式,特别是针对不同字节序(大端和小端)的概念。文章首先解释了正负整数在内存中以补码形式存储的规则,然后提出了一个问题:当一个4字节的整数在内存中存储时,其字节是如何分布的?接着,文章引入了大端字节序和小端字节序的概念,其中大端模式将高位字节存储在低地址,小端模式则相反。文章通过示例说明了两种存储模式的区别,并提供了一道题目来判断当前机器使用的字节序。最后,给出了一个简单的程序来检测系统是大端还是小端。
  • 05.24 21:18:00
    发表了文章 2024-05-24 21:18:00

    C陷阱:数组越界遍历,不报错却出现死循环?从内存解析角度看数组与局部变量之“爱恨纠葛”

    在代码练习中,通常会避免数组越界访问,但如果运行了这样的代码,可能会导致未定义行为,例如死循环。当循环遍历数组时,如果下标超出数组长度,程序可能会持续停留在循环体内。这种情况的发生与数组和局部变量(如循环变量)在内存中的布局有关。在某些编译器和环境下,数组和局部变量可能在栈上相邻存储,数组越界访问可能会修改到循环变量的值,导致循环条件始终满足,从而形成死循环。理解这种情况有助于我们更好地理解和预防这类编程错误。
  • 05.24 20:51:55
    发表了文章 2024-05-24 20:51:55

    (“拨”取数字的典例:N位水仙花数判断及水仙花数变种)

    这篇内容介绍了如何判断和生成水仙花数,水仙花数是一个n位数,其各位数字的n次方之和等于该数本身。文章首先回顾了"拨数"的概念,然后通过实例展示了如何判断三位水仙花数,并将其推广到任意位数的水仙花数。作者提供了详细的解题思路和代码示例,强调了解决这类问题时要慢下来,分步骤分析问题。最后,文章还探讨了一个水仙花数的变种问题,即数字拆分后乘积之和等于原数的情况。
  • 05.24 20:41:18
    发表了文章 2024-05-24 20:41:18

    DAY-1 | 迭乘法、辗转相除法、试除法:最大公约数与最小公倍数问题

    这段内容是一个关于计算两个数的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)的编程题目说明,包括题干、题解和方法总结。其中提到了两种方法:辗转相除法和试除法。辗转相除法通过不断用较大数除以较小数直到余数为零来求最大公约数,然后利用两数乘积除以最大公约数得到最小公倍数。试除法则是通过循环尝试两数的倍数是否同时能被两数整除来求解。在方法总结部分,还介绍了迭乘法求最小公倍数的方法。
  • 发表了文章 2024-05-28

    Java多线程基础-6:线程安全问题及解决措施,synchronized关键字与volatile关键字(一)

  • 发表了文章 2024-05-28

    代码解密 | 2024春晚刘谦魔术与约瑟夫环问题

  • 发表了文章 2024-05-28

    万字详解:C语言三子棋进阶 + N子棋递归动态判断输赢(一)

  • 发表了文章 2024-05-28

    超详解 - 如何理解C语言中while(scanf(“%d“, &num) != EOF)这一表达式?

  • 发表了文章 2024-05-28

    Git 的原理与使用(下)(一)

  • 发表了文章 2024-05-28

    Git 的原理与使用(下)(二)

  • 发表了文章 2024-05-28

    万字详解:C语言三子棋进阶 + N子棋递归动态判断输赢(二)

  • 发表了文章 2024-05-28

    Git 的原理与使用(中)(二)

  • 发表了文章 2024-05-28

    Git 的原理与使用(中)(三)

  • 发表了文章 2024-05-28

    Git 的原理与使用(中)(一)

  • 发表了文章 2024-05-28

    Git 的原理与使用(上) (一)

  • 发表了文章 2024-05-28

    Git 的原理与使用(上) (二)

  • 发表了文章 2024-05-28

    RandomQuestionPicker简单的随机抽题系统

  • 发表了文章 2024-05-28

    详解Redis哨兵模式下,主节点掉线而重新选取主节点的流程

  • 发表了文章 2024-05-28

    ONT60 旋转链表 思路分享

  • 发表了文章 2024-05-28

    Centos7 安装和配置 Redis 5 教程

  • 发表了文章 2024-05-28

    Java实现加权平均分计算程序WeightedAverageCalculator

  • 发表了文章 2024-05-28

    Java多线程基础-18:线程安全的集合类与ConcurrentHashMap

  • 发表了文章 2024-05-28

    禁用Google Chrome自动更新,怎么找到Update目录?

  • 发表了文章 2024-05-28

    JavaSE自定义验证码图片生成器

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息