Giter Club home page Giter Club logo

yfchenkeepgoing.github.io's Introduction

yfchenkeepgoing.github.io's People

Contributors

yfchenkeepgoing avatar

Watchers

 avatar

yfchenkeepgoing.github.io's Issues

How to Migrate and Restart a Cloud Server | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/01/21/How-to-Migrate-and-Restart-a-Cloud-Server/

迁移云服务器1、租云服务器,配置其免密登录将本地的公钥复制到云服务器的~/.ssh/authorized_keys中,或者使用云服务器平台提供的密钥,在本地的.ssh文件夹中添加密钥在本地的位置第一次登录云服务器(未配置免密登录)的具体流程可以参照以下步骤: IR_Group_7_project Demo Instruction Login our VM instanceMove key to

Day 24 Theory of Backtracking Algorithms, Leetcode 77 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/05/01/Day-24-Theory-of-Backtracking-Algorithms-Leetcode-77/

链接理论基础77. 组合 知识理论基础什么是回溯法回溯算法比较抽象,因此较难。 回溯和递归是相辅相成的,有递归就会有回溯。回溯的逻辑一般隐藏在递归函数的下面。二叉树在递归的过程中会有回溯的操作,只不过有的题目显式地用到了回溯,有的题目没有显式地用回溯。回溯函数一般指递归函数,因为没有一个函数可以完全用来回溯。 回溯法的效率:回溯法是纯暴力的搜索,并不是一个高效的算法。如果想让回溯法高效一些,可以加

Day 8 | Leetcode 344, 541, k54, 151, k55 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/02/01/Day-8-Leetcode-344-541-k54-151-k55/

链接344.反转字符串541. 反转字符串II卡码网:54.替换数字151.翻转字符串里的单词卡码网:55.右旋转字符串 知识541. 反转字符串II一般来说,编程语言自己实现的库函数都是左闭右开的,因此reverse(s, i, i + k)表示的是反转字符串s的第i位到第i + k位,不包含第i + k位。 卡码网:54.替换数字151.翻转字符串里的单词卡码网:55.右旋转字符串初次尝试34

Day 25 Leetcode 216, 17 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/05/02/Day-25-Leetcode-216-17/

链接216.组合总和III17.电话号码的字母组合 知识216.组合总和III17.电话号码的字母组合初次尝试216.组合总和III针对本题,我沿用上题77. 组合的代码,只是在终止条件中添加了条件:sum(path) == n,并在单层搜索逻辑中将终止条件改为i = 9,即可解决本题。据此,我独立写出了本题的代码:12345678910111213141516171819202122232425

Day 23 Leetcode 669 108 538 summary | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/04/24/Day-23-Leetcode-669-108-538-summary/

链接669. 修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树 总结篇 知识669. 修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树总结篇初次尝试669. 修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树总结篇实现669. 修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累

Day 30 Leetcode 332, 51, 37 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/05/27/Day-30-Leetcode-332-51-37/

链接332.重新安排行程51. N皇后37. 解数独总结 知识332.重新安排行程51. N皇后37. 解数独总结初次尝试332.重新安排行程51. N皇后37. 解数独总结实现今天这三道题都非常难,那么这么难的题,为啥一天做三道? 因为一刷也不求能把这么难的问题解决,所以一刷的时候,就了解一下题目的要求,了解一下解题思路,不求能直接写出代码,先大概熟悉一下这些题,二刷的时候,随着对回溯算法的深

Typora_usage | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/01/20/Typora/?

(1)标题一级标题二级标题三级标题四级标题五级标题六级标题(2)快捷键普通模式和源代码模式:ctrl+/md语法正确显示需要在有文字的一行后面再空一行,把鼠标放在有文字的最后一行的后两行的位置 标题:按下ctrl和+,则当前行变成第六级的标题,每按一次ctrl和+则当前标题的等级提升一级。按下ctrl和-则是按下ctrl和+的逆向操作。 (3)字体加粗倾斜斜体加粗删除线 (2删除线2)==高亮

Day 7 | Leetcode 454, 383, 15, 18 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/01/31/Day-7-Leetcode-454-383-15-18/

链接454.四数相加II383. 赎金信15. 三数之和18. 四数之和哈希表总结篇 知识454.四数相加IIcpp中的map中的value是支持++操作的,且value可以通过key直接索引到,就像普通的数组那样。 383. 赎金信 不仅对vector可以用范围遍历,对string类型的变量和普通的数组也可以用范围遍历的写法来简化代码。似乎范围遍历的速度要稍快于普通的for循环遍历。 cpp中

Day 6 | Leetcode 242, 349, 202, 1 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/01/29/Day-6-Leetcode-242-349-202-1/

链接哈希表理论基础242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和 知识哈希表理论基础哈希表->哈希函数->哈希碰撞->拉链法/线性探测法->常见的三种哈希结构->set & map及如何选取->总结 哈希表哈希表是根据关键码的值而直接进行访问的数据结构。举例:其实数组就是一张哈希表。哈希表中关键码就是数组的索引下标,然后通

Day 3 | Leetcode 203, 707, 206 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/01/26/Day-3-Leetcode-203-707-206/

链接链表理论基础203.移除链表元素707.设计链表206.反转链表 知识链表理论基础链表是一种通过指针串联在一起的线性结构。每个节点等于数据域+指针域(存放指向下一个节点的指针)。最后一个节点的指针域指向null。头节点head。 单链表、双链表:既可以向前查询也可以向后查询。循环链表:链表首尾相连(解决约瑟夫环问题) 链表在内存中不是连续分布的。其通过指针域的指针链接在内存中的各个节点。 链

Day 26 Leetcode 39, 40, 131 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/05/03/Day-26-Leetcode-39-40-131/

链接39.组合总和40.组合总和II131.分割回文串 知识39.组合总和40.组合总和II131.分割回文串初次尝试39.组合总和本题是集合里元素可以用无数次,那么和组合问题的差别,其实仅在于startIndex上的控制。本题若是想不重不漏,则下一层遍历的起始位置应该与上一层取出的数相同。而对于组合问题,下一层遍历的起始位置应该是上一层取出的数的下一个(因为组合问题中的元素不能重复使用)。据此,

Day 5 | Leetcode 242, 349, 202, 1 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/01/29/Day-5-Leetcode-242-349-202-1/

链接哈希表理论基础242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和 知识哈希表理论基础哈希表->哈希函数->哈希碰撞->拉链法/线性探测法->常见的三种哈希结构->set & map及如何选取->总结 哈希表哈希表是根据关键码的值而直接进行访问的数据结构。举例:其实数组就是一张哈希表。哈希表中关键码就是数组的索引下标,然后通

Day 19 Leetcode 654 617 700 98 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/04/19/Day-19-Leetcode-654-617-700-98/

链接654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树 知识700.二叉搜索树中的搜索什么是二叉树搜索树?其根节点要比左子树里所有节点的数值大,根节点要比右子树里所有节点的数值小。同理,左右子树也符合这个规则。二叉搜索树的上述规则确定了遍历顺序(既不是前序,也不是中序、后序),而二叉搜素树的上述规则也让本题的迭代写法特别简单。 if (node != NULL

Day 20 Leetcode 530 501 236 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/04/21/Day-20-Leetcode-530-501-236/

链接530.二叉搜索树的最小绝对差501.二叉搜索树中的众数236. 二叉树的最近公共祖先 知识501.二叉搜索树中的众数236. 二叉树的最近公共祖先初次尝试530.二叉搜索树的最小绝对差本题虽然是个easy题,但我想不出来怎么做。唯一的思路是双指针,至于怎么递归,按照怎样的顺序,我想不出来。 501.二叉搜索树中的众数本题显然又要充分利用二叉搜索树的特性:中序遍历二叉搜索树,得到的数组是递增的

Day 16 | Leetcode 104, 559, 111, 222 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/02/18/Day-16-Leetcode-104-559-111-222/

链接104.二叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数 知识104.二叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数初次尝试104.二叉树的最大深度我看到本题后,发现本题在层序遍历里面做过,就用层序遍历先求解。写出了如下代码:12345678910111213141516171819202122class Solution {public:

How to Build and Maintain a Personal Blog | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/01/20/Blog/

如何搭建和维护个人博客个人博客的实现方式使用GitHub Pages和Hexo框架搭建和维护个人博客 博客结构本博客计划同时按照标签页(tags)和分类页(categories)进行分类。分类是更大的范畴,主要分为算法、web开发、工具使用、个人随笔和找工记录五大类。标签页是更小的范畴,有Python, C++, Java, Django, Springboot, Typora, GitHub P

How to Understand an Open Source Project | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/01/30/How-to-Understand-an-Open-Source-Project/

快速了解项目 从0带读Java小说项目。项目:小说精品屋 首先看代码的简介(README),然后看代码的更新频率(几年没更新的就不用看了)。 接着看项目的介绍,看项目的技术栈和我们自己的技术栈是否匹配。 接着看包结构(项目结构)。 看技术选型。高级的技术:ShardingSphere-JDBC(数据库分库分表支持)、分布式缓存支持、搜索引擎服务、开源消息中间件、文件存储、对象存储。 接着看核心:项

Day 14 | Leetcode Recursive traversal, Iterative traversal, Unified iteration | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/02/11/Day-14-Leetcode-Recursive-traversal-Iterative-traversal-Unified-iteration/

链接理论基础递归遍历迭代遍历统一迭代 知识理论基础二叉树的种类解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树(完全二叉树包含满二叉树,满二叉树一定是完全二叉树) “度”是指一个节点拥有的子节点的数量 满二叉树满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。也可以说深度为k,有2^k-1个节点的二叉树。 完全二叉树完全二叉树:除了最

LeetCode problems prepared for a TikTok interview | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/05/10/LeetCode-problems-prepared-for-a-TikTok-interview/

  1. 在排序数组中查找元素的第一个和最后一个位置本题是整数二分的加强版。本题的要点为: 写两个函数,分别寻找target的左边界和右边界。本题的区间定义为左闭右闭。 寻找左边界,说明target在[left, mid]之间,因此在[left, mid]中更新左边界。寻找右边界,说明target在[mid, right]之间,因此在[mid, right]中更新右边界。 寻找左边界,就要在n

Day 22 Leetcode 235 701 450 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/04/23/Day-22-Leetcode-235-701-450/

链接235. 二叉搜索树的最近公共祖先701.二叉搜索树中的插入操作450.删除二叉搜索树中的节点 初次尝试235. 二叉搜索树的最近公共祖先拿到本题,我发现这道题和236. 二叉树的最近公共祖先基本相同,只不过二叉树的条件被增强为二叉搜索树。我首先尝试用236题的思路和代码解决本题。据此,我独立写出了以下的代码:123456789101112131415161718class Solution

Day 13 | Leetcode 239, 347, summary | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/02/06/Day-13-Leetcode-239-347-summary/

链接239. 滑动窗口最大值347.前 K 个高频元素栈与队列总结 知识239. 滑动窗口最大值347.前 K 个高频元素栈与队列总结初次尝试239. 滑动窗口最大值本题应该有些类似于滑动窗口的经典题目:209.长度最小的子数组。本题的思路:用一个长度始终为3的队列,滑过数组。每次算出队列中的最大值,然后存入数组中。我打算另写一个函数来返回三个值中的最大值。但是应该是有办法在队列进出元素的时候顺便

Day 18 Leetcode 513, 112, 106 | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/03/12/Day-18-Leetcode-513-112-106/

链接513.找树左下角的值112. 路径总和,113. 路径总和ii106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树 知识106.从中序与后序遍历序列构造二叉树vector lm(inorder.begin(), inorder.begin() + i);创建了一个左闭右开的区间。在C++中,std::vector的这个构造函数接受两个迭代器作为

Day 9 | Leetcode 28, 459, summary | YifanChen's Blog

https://yfchenkeepgoing.github.io/2024/02/03/Day-9-Leetcode-28-459-summary/

链接28. 实现 strStr()459.重复的子字符串字符串:总结篇双指针总结篇 知识KMP算法理论KMP与解决的问题KMP:发明本算法的三位学者的英文名首字母 应用:字符串匹配问题 经典例子: 给出文本串: aabaabaaf 给出模式串: aabaaf求在文本串中是否出现过模式串 暴力方法与KMP暴力解法:两重for循环,先遍历文本串,再遍历模式串,挨个匹配。从文本串的首位开始,若模

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.