自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WULH

http://www.wlhan.top

  • 博客(50)
  • 收藏
  • 关注

原创 2020计算机保研经历

2020计算机保研经历(南大,清深,同济,中科大,哈深,北大软微)    2020,注定是不平凡的一年。——吴林瀚​   2020年的初春,COVID-19在武汉的肆虐改变了我们原本再平凡不过的2020,Kobe的不幸离开让我的微信头像灰暗了整整一个月,突如其来的疫情让我经历了第一次“家里蹲大学”的生活。生活总是充满了惊喜和无奈,只有经受住寒冬的严刑苦打,才能看到那冉冉升起的朝阳。我的2020,我们的2020,注定是不平凡的!个人情况:末流 985,计算机科学与技术,Rank 前 3%CET-4

2020-10-15 12:33:03 13105 13

原创 并查集系列:1202 Smallest String With Swaps

Smallest String With SwapsYou are given a string s, and an array of pairs of indices in the string pairs where pairs[i] = [a, b] indicates 2 indices(0-indexed) of the string.You can swap the characters at any pair of indices in the given pairs any number

2021-02-08 14:27:06 303 1

原创 并查集系列:959 Regions Cut By Slashes

Regions Cut By SlashesIn a N x N grid composed of 1 x 1 squares, each 1 x 1 square consists of a /, \, or blank space. These characters divide the square into contiguous regions.(Note that backslash characters are escaped, so a \ is represented as "\\".)

2021-02-08 14:23:32 290

原创 并查集系列:947 Most Stones Removed with Same Row or Column

Most Stones Removed with Same Row or ColumnOn a 2D plane, we place n stones at some integer coordinate points. Each coordinate point may have at most one stone.A stone can be removed if it shares either the same row or the same column as another stone th

2021-02-08 14:18:47 301 1

原创 并查集系列:839 Similar String Groups

Similar String GroupsTwo strings X and Y are similar if we can swap two letters (in different positions) of X, so that it equals Y. Also two strings X and Y are similar if they are equal.For example, "tars" and "rats" are similar (swapping at positions 0

2021-02-08 14:17:13 234

原创 并查集系列:778 Swim in Rising Water

Swim in Rising WaterOn an N x N grid, each square grid[i][j] represents the elevation at that point (i,j).Now rain starts to fall. At time t, the depth of the water everywhere is t. You can swim from a square to another 4-directionally adjacent square if

2021-02-08 14:12:49 254

原创 并查集系列:684 Redundant Connection

Redundant ConnectionIn this problem, a tree is an undirected graph that is connected and has no cycles.The given input is a graph that started as a tree with N nodes (with distinct values 1, 2, …, N), with one additional edge added. The added edge has tw

2021-02-08 14:10:35 174

原创 并查集系列:547 Number of Provinces

Number of ProvincesThere are n cities. Some of them are connected, while some are not. If city a is connected directly with city b, and city b is connected directly with city c, then city a is connected indirectly with city c.A province is a group of dir

2021-02-08 14:06:44 313

原创 Android Studio 导入新项目的问题和解决

Android Studio 导入新项目的问题和解决文章目录Android Studio 导入新项目的问题和解决背景问题和解决问题一:ERROR: Could not install Gradle distribution from 'https\://services.gradle.org/distributions/gradle-5.1.1-all.zip'.问题一解决方案:直接换成之前已经能正常使用的项目的内容问题二:Gradle sync failed : read time out问题二解决方案

2020-12-03 00:20:39 840

原创 纪念一下 2020 的 1024

纪念一下 2020 的 1024#include <iostream>using namespace std;int main(){ cout <<2020-1024 <<" : It's your life!";}

2020-10-24 20:42:15 4284

原创 LeetCode 力扣 刷题记录 热题 HOT 100(226,234,236,238,239)题目+算法分析+Cpp解答

GitHub链接:https://github.com/WilliamWuLH/LeetCode如果你觉得不错可以 ⭐Star 和 Fork ❤226.Invert Binary Tree递归:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *lef...

2020-05-04 16:19:49 634

原创 LeetCode 力扣 刷题记录 热题 HOT 100(206,207,208,215,221)题目+算法分析+Cpp解答

206.Reverse Linked List保存每一个链表结点:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class ...

2020-04-27 23:51:10 958

原创 LeetCode 力扣 刷题记录 热题 HOT 100(155,160,169,198,200)题目+算法分析+Cpp解答

155.Min Stack存储最小值 + 不断更新最小值:class MinStack {private: stack<pair<int,int>> minstack;public: /** initialize your data structure here. */ MinStack() { } void pus...

2020-04-27 23:43:40 1036

原创 LeetCode 力扣 刷题记录 热题 HOT 100(141,142,146,148,152)题目+算法分析+Cpp解答

141.Linked List Cycle方法一:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution...

2020-04-20 11:32:15 1084

原创 LeetCode 力扣 刷题记录 热题 HOT 100(121,124,128,136,139)题目+算法分析+Cpp解答

121.Best Time to Buy and Sell Stock维持一个最低价 + 一个最优解:class Solution {public: int maxProfit(vector<int>& prices) { int len = prices.size(); int ans = 0, low = INT_MAX; ...

2020-04-20 10:58:13 1205

原创 LeetCode 力扣 刷题记录 热题 HOT 100(101,102,104,105,114)题目+算法分析+Cpp解答

101.Symmetric Tree迭代法:​ 大问题变成小问题,不断迭代到可以进行判断,再返回判断结果。​ 判断两边:首先判断两个根结点是否相同;再判断左边根结点的左子树和右边根结点的右子树是否相同;再判断左边根结点的右子树和右边根结点的左子树是否相同;​ 在判断是否相同时:两个根结点均为 null,返回 true;两个根结点中有一个是 null,有...

2020-04-10 23:07:59 1567

原创 LeetCode 力扣 刷题记录 热题 HOT 100(78,79,94,96,98)题目+算法分析+Cpp解答

78.Subsets回溯法:class Solution {public: vector<vector<int>> ans; vector<vector<int>> subsets(vector<int>& nums) { vector<int> temp; bac...

2020-04-10 22:51:34 1415

原创 LeetCode 力扣 刷题记录 热题 HOT 100(62,64,70,72,75)题目+算法分析+Cpp解答

62.Unique Paths动态规划:​ 保存每个位置可能到达该位置的路径数目。class Solution {public: int uniquePaths(int m, int n) { int map[m][n]; for(int i=0; i<m; i++){ for(int j=0; j<n; j...

2020-04-09 14:17:19 1358

原创 LeetCode 力扣 刷题记录 热题 HOT 100(46,48,49,53,55)题目+算法分析+Cpp解答

46.Permutations回溯法:​ 使用回溯法。​ 额外的空间开销是 map<int,int> use,用于记录哪些元素已经被使用了。class Solution {public: vector<vector<int>> ans; vector<int> temp; map<int,int> ...

2020-04-08 10:18:38 1211

原创 LeetCode 力扣 刷题记录 76.Minimum Window Substring 题目+算法分析+Cpp解答

76.Minimum Window Substring滑动窗口:​ 滑动窗口的思想:双指针,左右指针都从 0 开始,右指针负责找到合法的有效区间,左指针负责优化这个合法有效区间。初始化时左指针 left 和右指针 right 都从 0 开始,left 和 right 夹起来的区间称为一个“窗口”。右指针 right 向右(向尾部)移动,扩大窗口,并且不断判断区间是否合法(符合题目要求...

2020-04-01 16:23:22 1153

原创 LeetCode 力扣 刷题记录 56.Merge Intervals 题目+算法分析+Cpp解答

56.Merge Intervals排序 + 双指针:​ 首先将给定的数字区间进行排序。​ 使用双指针,一个指针指向当前答案的最后一个区间元素,另一个指针指向还未进行判断的下一个区间元素。​ 如果当前还存在没有判断的区间元素,继续进行判断:如果当前的区间元素是给定的第一个区间,直接插入答案中。如果当前答案的区间元素最大值小于当前判断的区间元素的最小值,则将当前判断的区间元...

2020-03-30 12:02:02 1110

原创 LeetCode 力扣 刷题记录 39.Combination Sum 题目+算法分析+Cpp解答

39.Combination Sum回溯法( DFS 深度优先搜索 ):​ 首先将给定的数组进行排序,方便后面的判断以提高性能。​ 回溯法,其实也就是 DFS 深度优先搜索,也就是递归。​ 递归就需要有一个目标数值,有一个判断返回的条件。​ 判断递归返回的条件是建立在目标数值上的,在本题中是使得目标数值为 0。​ 目标数值为 0 说明找到了一个可行的答案,需要将答案...

2020-03-28 11:33:22 1122

原创 LeetCode 力扣 刷题记录(31 - 35)题目+算法分析+Cpp解答

31.Next Permutation找规律:​ 找到下一个按照字典序的排列,所以思路应该是从排列的尾部开始找。​ 首先从排列的尾部往前找,找到第一个 nums[ i-1 ] < nums[ i ] 的位置,此时说明通过将 nums[ i-1 ] 和排列在 nums[ i-1 ] 后面的并且比 nums[ i-1 ] 大的数 nums[ j ] 互换位置,将得到更大的排列。​ ...

2020-03-23 16:12:25 1201

原创 LeetCode 力扣 刷题记录(19 - 23)题目+算法分析+Cpp解答

19.Remove Nth Node From End of List开 vector 保存链表各个 node:​ 特殊情况:删去链表的第一个和最后一个。​ 第一个:直接返回链表的第二个 node,其为新的链表头。​ 最后一个:在 vector 的最后再存入一个 NULL,就可以应用到通用公式。/** * Definition for singly-linked list...

2020-03-23 15:53:58 1171

原创 LeetCode 力扣:15.3Sum + 16.3Sum Closest + 18.4Sum 排序 + 双指针遍历 题目+算法分析+Cpp解答

15.3Sum排序 + 双指针遍历:​ 首先,将给定的数组进行排序(从小到大的顺序)。​ 遍历排序后的数组中的每一个数,如果这个数之前已经讨论过了则可以跳过。​ 将取出的数作为“目标”,使用双指针在排序后的数组中找另外的两个数:​ 一个左指针指向该取出的数的后一个数,即此时的最低位。​ 另一个右指针指向数组的最后一个数,即此时的最高位。​ 由于数组已经是从小到...

2020-03-20 14:02:43 1083

原创 LeetCode 力扣 刷题记录(11 - 15)题目+算法分析+Cpp解答

11.Container With Most Water双指针法:​ 高度低的指针必须向着高度高的指针的方向靠拢:通过高度弥补宽度的减小。class Solution {public: int maxArea(vector<int>& height) { vector<int>::iterator left,right; ...

2020-03-20 09:58:14 1161

原创 LeetCode 力扣 刷题记录(1-5)题目+算法分析+Cpp解答

1.Two Sum一次哈希:​ 将数值作为索引,在哈希表中找此时数值对应的另一个数值,若存在则取出该数值的编号,若不存在则将此时的数值和它的编号存入哈希表,以供后面使用。class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { map&lt...

2020-03-17 17:10:50 1200

原创 计算机科学速成课 Crash Course Computer Science 第三十五集 计算机视觉 Computer Vision

计算机科学速成课 Crash Course Computer Science第三十五集 计算机视觉 Computer Vision视觉是信息最多的感官,比如周围的世界是怎么样的,如何和世界交互,因此半个世纪来,计算机科学家一直在想办法让计算机有视觉,因此诞生了“计算机视觉”(Computer Vision——CV)这个领域。目标是让计算机理解图像和视频,正如计算机视觉教授李飞飞最近说的:“Ju...

2020-03-11 23:36:48 1291

原创 计算机科学速成课 Crash Course Computer Science 第三十四集 机器学习&人工智能 Machine Learning & Artificial Intelligence

计算机科学速成课 Crash Course Computer Science第三十四集 机器学习&人工智能 Machine Learning & Artificial Intelligence机器学习算法让计算机可以从数据中学习,然后自行做出预测和决定,能自我学习的程序很有用,比如判断是不是垃圾邮件。虽然有用,但是我们不会说它有人类一般的智能,虽然AI和ML这两个词经常混着用,...

2020-03-11 14:40:36 1467

原创 计算机科学速成课 Crash Course Computer Science 第三十二集 黑客&攻击 Hacker & Cyber Attacks

计算机科学速成课 Crash Course Computer Science第三十二集 黑客&攻击 Hacker & Cyber Attacks社会工程学黑客入侵最常见的方式不是通过技术,而是欺骗别人,这叫“社会工程学”(social engineering),欺骗别人让人泄密信息,或让别人配置电脑系统,变得易于攻击。网络钓鱼最常见的攻击是网络钓鱼(phishing),你...

2020-03-10 11:52:15 1282

原创 计算机科学速成课 Crash Course Computer Science 第三十集 万维网 The World Wide Web

计算机科学速成课 Crash Course Computer Science第三十集 万维网 The World Wide Web万维网(World Wide Web)和互联网(Internet)不同,万维网在互联网之上运行,互联网之上还有Skype,Minecraft和Instagram,互联网是传递数据的管道,各种程序都会用,其中传输最多数据的程序是万维网,分布在全球数百万个服务器上,可以...

2020-03-03 16:55:45 1332

原创 计算机科学速成课 Crash Course Computer Science 第二十九集 互联网 The Internet

计算机科学速成课 Crash Course Computer Science第二十九集 互联网 The Internet我们的计算机和一个巨大的分布式网络连在一起,这个网络叫做互联网,互联网由无数互联设备组成。计算机为了获取互联网上的资源,首先要连到局域网(LAN),家庭中的 WiFi 路由器连着的所有设备组成了局域网。局域网再连到广域网(Wide Area Network——WAN),W...

2020-03-02 01:41:05 1498

原创 计算机科学速成课 Crash Course Computer Science 第二十八集 计算机网络 Computer Networks

计算机科学速成课 Crash Course Computer Science第二十八集 计算机网络 Computer Networks150年前发一封信件从伦敦到加州要花2~3周(还是特快邮件),如今电子邮件只要几分之一秒,时延改善了上百万倍,时延指传播一条信息所需要的时间,帮助现代世界在遍布全球的光纤中快速发展。球鞋网络 Sneakernet第一个计算机网络出现在1950~1960年代,...

2020-02-29 17:56:02 1514

原创 计算机科学速成课 Crash Course Computer Science 第二十七集 3D图形 3D Graphics

计算机科学速成课 Crash Course Computer Science第二十七集 3D图形 3D Graphics可以写一个函数从A到B画一条线,通过控制A和B的(X,Y)坐标可以控制一条线,在3D图像中,点的坐标不再是两点,而是三点:X,Y,Z。在2D的电脑屏幕上不可能有XYZ立体坐标轴,所以有图形算法负责把3D坐标显示到2D屏幕上,这叫“3D投影”(3D projection)。线...

2020-02-29 12:55:05 1339

原创 计算机科学速成课 Crash Course Computer Science 第二十二集 命令行界面 Keyboards & Command Line Interfaces

计算机科学速成课 Crash Course Computer Science第二十二集 命令行界面 Keyboards & Command Line Interfaces有很多种 input & output devices 让我们和计算机交互,它们在人类和计算机之间提供了界面,如今有整个学科专门研究这个——人机交互(Human-Computer Interaction)。前...

2020-02-28 11:20:53 1197

原创 计算机科学速成课 Crash Course Computer Science 第二十一集 压缩 Compression

计算机科学速成课 Crash Course Computer Science第二十一集 压缩 Compression.txt .wav .bmp 这些格式虽然管用并且现在还在用,但是它们的简单性意味着效率不高,我们希望文件能小一点,这样能存大量文件,传输也会更快一些。解决方法是压缩,把数据占用的空间压得更小,用更少的位(bit)来表示数据。图像图像一般存成一长串像素值,为了知道一行在哪里结...

2020-02-27 21:49:42 1223

原创 计算机科学速成课 Crash Course Computer Science 第十八集 操作系统 Operating Systems

计算机科学速成课 Crash Course Computer Science第十八集 操作系统 Operating Systems由于计算机速度越来越快导致放入程序的时间比程序运行时间还长,所以需要一种方式让计算机自动运作,于是操作系统(operating system)诞生了。操作系统简称OS,也是一个程序,但是它有操作硬件的特殊权限,可以运行和管理其他程序,操作系统一般是开机第一个启动的...

2020-02-24 18:29:56 1334

原创 计算机科学速成课 Crash Course Computer Science 第十六集 软件工程 Software Engineering

计算机科学速成课 Crash Course Computer Science第十六集 软件工程 Software Engineering为了写大型程序,程序员用各种工具和方法,所有这些形成了“软件工程”(software engineering)学科,这个词由工程师Margaret Hamilton创造,她帮助NASA在阿波罗计划中避免了严重问题,她曾说过:“It’s kind of like...

2020-02-20 21:12:30 1243

原创 计算机科学速成课 Crash Course Computer Science 第十一集 编程语言发展史 The First Programming Languages

计算机科学速成课 Crash Course Computer Science第十一集 编程语言发展史 The First Programming Languages伪代码计算机能处理二进制,二进制是处理器的“母语”,这叫“机器语言”(machine language)或“机器码”(machine code)。在计算机早期阶段是必须用机器码写程序,具体来讲,会先在纸上用英语写一个“高层次版”,...

2020-02-19 21:47:34 1202

原创 计算机科学速成课 Crash Course Computer Science 第九集 高级CPU设计 Advanced CPU Design

计算机科学速成课 Crash Course Computer Science第九集 高级CPU设计 Advanced CPU Design早期计算机的提速方式是减少晶体管的切换时间,晶体管组成了逻辑门,ALU以及其他组件,但这种提速方式最终会碰到瓶颈,所以处理器厂商发明各种新技术来提升性能,不但让简单指令运行更快,也让它能进行更复杂的运算。现代CPU直接在硬件层面设计了除法,可以直接给ALU...

2020-02-18 20:22:44 1337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除