<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[RedemptionC的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/RedemptionC</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; RedemptionC]]></copyright><item><title><![CDATA[15445 lecture#4 Database Storage 2]]></title><link>https://blog.csdn.net/RedemptionC/article/details/115269824</link><guid>https://blog.csdn.net/RedemptionC/article/details/115269824</guid><author>RedemptionC</author><pubDate>Sat, 27 Mar 2021 20:10:43 +0800</pubDate><description><![CDATA[1 Data Representation


A data representation scheme is how a DBMS stores the bytes for a value. There are five high level datatypes that can be stored in tuples: integers, variable-precision numbers, fixedpoint precision numbers, variable length values, a]]></description><category></category></item><item><title><![CDATA[15445 lecture#3 Database Storage 1]]></title><link>https://blog.csdn.net/RedemptionC/article/details/115266228</link><guid>https://blog.csdn.net/RedemptionC/article/details/115266228</guid><author>RedemptionC</author><pubDate>Sat, 27 Mar 2021 18:35:59 +0800</pubDate><description><![CDATA[1 storage

我们主要关注的是disk-oriented DBMS，即DB是存在disk上的



Volatile：

断电就失去保存的内容
	支持高速随机存取，byte-addressable
	我们统称为memory
Non-Volatile：

不需要通电也能保存数据
	block/page addressable
	对顺序存取支持更好
	统称为disk，一般本课不会去区分SSD和HDD
当前还有一种正在研发并流行的存储介质，persistent memory，具有上述两者的优点，快并且p.]]></description><category></category></item><item><title><![CDATA[15445 lecture#2 Intermediate SQL]]></title><link>https://blog.csdn.net/RedemptionC/article/details/115215466</link><guid>https://blog.csdn.net/RedemptionC/article/details/115215466</guid><author>RedemptionC</author><pubDate>Fri, 26 Mar 2021 12:52:40 +0800</pubDate><description><![CDATA[(本来在想，Intermediate指啥，貌似应该是和advanced相对，中级的意思


1Relational Languages
Edgar Codd published a major paper on relational models in the early 1970s. Originally, he only defined themathematical notation for how a DBMS could execute queries on a relational model.]]></description><category></category></item><item><title><![CDATA[15-445 lecture#1 Relational Model & Relational Algebrae]]></title><link>https://blog.csdn.net/RedemptionC/article/details/115211752</link><guid>https://blog.csdn.net/RedemptionC/article/details/115211752</guid><author>RedemptionC</author><pubDate>Thu, 25 Mar 2021 18:15:33 +0800</pubDate><description><![CDATA[1 DatabasesA database is an organized collection of inter-related data that models some aspect of the real-world (e.g.,modeling the students in a class or a digital music store). People often confuse “databases” with “databasemanagement systems” (e.g., ...]]></description><category></category></item><item><title><![CDATA[6.824 Lab 1 实验指导书: MapReduce]]></title><link>https://blog.csdn.net/RedemptionC/article/details/115095661</link><guid>https://blog.csdn.net/RedemptionC/article/details/115095661</guid><author>RedemptionC</author><pubDate>Mon, 22 Mar 2021 21:48:03 +0800</pubDate><description><![CDATA[Introduction


In this lab you'll build a MapReduce system. You'll implement a worker process that calls application Map and Reduce functions and handles reading and writing files, and a coordinator process that hands out tasks to workers and copes with fa]]></description><category></category></item><item><title><![CDATA[6.824 paper MapReduce: Simplified Data Processing on Large Clusters]]></title><link>https://blog.csdn.net/RedemptionC/article/details/115056364</link><guid>https://blog.csdn.net/RedemptionC/article/details/115056364</guid><author>RedemptionC</author><pubDate>Mon, 22 Mar 2021 20:09:33 +0800</pubDate><description><![CDATA[本文关于原理部分的内容主要在第三第四节：

3 Implementation

3.1 Execution Overview


The Map invocations are distributed across multiplemachines by automatically partitioning the input datainto a set of M splits. The input splits can be pro-cessed in parallel by different m..]]></description><category></category></item><item><title><![CDATA[6.824 2021 Lecture 1: Introduction]]></title><link>https://blog.csdn.net/RedemptionC/article/details/115051449</link><guid>https://blog.csdn.net/RedemptionC/article/details/115051449</guid><author>RedemptionC</author><pubDate>Mon, 22 Mar 2021 20:09:21 +0800</pubDate><description><![CDATA[暂时想到的做笔记的方法，直接把文章复制过来，然后在下面写笔记，类似中英对照的形式吧
6.824: Distributed Systems Engineering

What is a distributed system?
  multiple cooperating computers
  storage for big web sites, MapReduce, peer-to-peer sharing, &amp;c
 对这里提到的peer-to-peer sharing不是很有intuition，.]]></description><category></category></item><item><title><![CDATA[cs144 lab0 networking warmup]]></title><link>https://blog.csdn.net/RedemptionC/article/details/113097819</link><guid>https://blog.csdn.net/RedemptionC/article/details/113097819</guid><author>RedemptionC</author><pubDate>Sun, 24 Jan 2021 23:33:42 +0800</pubDate><description><![CDATA[https://github.com/RedemptionC/cs144/tree/lab0


overview

lab0中：

配环境
	手动执行一些网络相关任务
	写一个类似wget的代码
	实现writer和reader之间的可靠字节流
其中开发本身相对简单，占比较大的是：开发环境和c++

开发环境

这里推荐直接使用给出的virtual box镜像，是无GUI版，也不怎么占资源，而且VB还支持无界面启动

写代码的时候，可以使用clion，配置好远程开发（jetbrains的远程开发和vsc.]]></description><category></category></item><item><title><![CDATA[15-445 homework#1 sql]]></title><link>https://blog.csdn.net/RedemptionC/article/details/111138140</link><guid>https://blog.csdn.net/RedemptionC/article/details/111138140</guid><author>RedemptionC</author><pubDate>Sun, 20 Dec 2020 21:43:19 +0800</pubDate><description><![CDATA[overview



主要是对如上结构的db，根据各种要求写sql

题目


Q1 [0 POINTS] (Q1_SAMPLE):
The purpose of this query is to make sure that the formatting of your output matches exactly the formatting of our auto-grading script.

Details:List all types of work ordered by type asc.]]></description><category></category></item><item><title><![CDATA[15-445 project#0 cpp primer]]></title><link>https://blog.csdn.net/RedemptionC/article/details/111121075</link><guid>https://blog.csdn.net/RedemptionC/article/details/111121075</guid><author>RedemptionC</author><pubDate>Sun, 13 Dec 2020 16:04:50 +0800</pubDate><description><![CDATA[overview

本lab是作为一个15445的语言入门关（cpp），所以主要是熟悉一下modern cpp的语法和用法，以及本课程做lab时需要注意的一些东西

（为了遵守课程要求，代码暂不放出

代码内容

主要实现三个类：matrix，RowMatrix，RowMatrixOperations

matrix

是个抽象类，定义了矩阵这个类所需要的一些基本成员变量和函数：

因为大部分是虚函数，所以不需要我们填写实现

需要做的是在构造函数里初始化一些变量：rows，columns，以及初始化一个一]]></description><category></category></item><item><title><![CDATA[6.824lab预备篇：go tour]]></title><link>https://blog.csdn.net/RedemptionC/article/details/109522788</link><guid>https://blog.csdn.net/RedemptionC/article/details/109522788</guid><author>RedemptionC</author><pubDate>Thu, 12 Nov 2020 23:04:50 +0800</pubDate><description><![CDATA[go tour可以运行在本地，但是因为我一般都是用vscode remote 而且运行


go get golang.org/x/tour


的时候提示 connection refused，所以还是在网页上做，这里会记录一些值得留意的东西：

热身

在线版go tour是建立在go playground上的，有一些特别之处：他的时间总是从2009-11-10 23:00:00 UTC开始，而且对执行时间，以及cpu和内存的使用有一些限制，并且不能访问外部网络主机（那爬虫？）
	在线版go tour的]]></description><category></category></item><item><title><![CDATA[lc 394. 字符串解码(栈 TODO]]></title><link>https://blog.csdn.net/RedemptionC/article/details/109301011</link><guid>https://blog.csdn.net/RedemptionC/article/details/109301011</guid><author>RedemptionC</author><pubDate>Tue, 27 Oct 2020 22:38:03 +0800</pubDate><description><![CDATA[给定一个经过编码的字符串，返回它解码后的字符串。

编码规则为: k[encoded_string]，表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。

你可以认为输入字符串总是有效的；输入字符串中没有额外的空格，且输入的方括号总是符合格式要求的。

此外，你可以认为原始数据不包含数字，所有的数字只表示重复的次数 k ，例如不会出现像3a或2[4]的输入。



示例 1：

输入：s = "3[a]2[bc]"
输出："aaabcbc"
示例 2：...]]></description><category></category></item><item><title><![CDATA[lc 1365. 有多少小于当前数字的数字(计数排序]]></title><link>https://blog.csdn.net/RedemptionC/article/details/109297024</link><guid>https://blog.csdn.net/RedemptionC/article/details/109297024</guid><author>RedemptionC</author><pubDate>Mon, 26 Oct 2020 22:10:32 +0800</pubDate><description><![CDATA[1365. 有多少小于当前数字的数字

难度简单111

给你一个数组nums，对于其中每个元素nums[i]，请你统计数组中比它小的所有数字的数目。

换而言之，对于每个nums[i]你必须计算出有效的j的数量，其中j满足j != i且nums[j] &lt; nums[i]。

以数组形式返回答案。



示例 1：


输入：nums = [8,1,2,2,3]
输出：[4,0,1,1,3]
解释： 
对于 nums[0]=8 存在四个比它小的数字：（1，2，2 和 3）。...]]></description><category></category></item><item><title><![CDATA[lc 347. 前 K 个高频元素（]]></title><link>https://blog.csdn.net/RedemptionC/article/details/109276444</link><guid>https://blog.csdn.net/RedemptionC/article/details/109276444</guid><author>RedemptionC</author><pubDate>Sun, 25 Oct 2020 22:43:58 +0800</pubDate><description><![CDATA[347. 前 K 个高频元素

难度中等552

给定一个非空的整数数组，返回其中出现频率前k高的元素。



示例 1:


输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]


示例 2:


输入: nums = [1], k = 1
输出: [1]



提示：

你可以假设给定的k总是合理的，且 1 ≤ k ≤ 数组中不相同的元素的个数。
	你的算法的时间复杂度必须优于 O(nlogn) ,n是数组的大小。
	题目数据保证答案唯一，换句话说，...]]></description><category></category></item><item><title><![CDATA[lc 338. 比特位计数(dp]]></title><link>https://blog.csdn.net/RedemptionC/article/details/109274043</link><guid>https://blog.csdn.net/RedemptionC/article/details/109274043</guid><author>RedemptionC</author><pubDate>Sun, 25 Oct 2020 15:22:42 +0800</pubDate><description><![CDATA[338. 比特位计数

难度中等432

给定一个非负整数num。对于0 ≤ i ≤ num范围中的每个数字i，计算其二进制数中的 1 的数目并将它们作为数组返回。

示例 1:


输入: 2
输出: [0,1,1]

示例2:


输入: 5
输出: [0,1,1,2,1,2]

进阶:

给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗？
	要求算法的空间复杂度为O(n)。
	你能进一步完善解法吗？要求在C++或任何其他...]]></description><category></category></item><item><title><![CDATA[lc 打家劫舍系列 198 213 337]]></title><link>https://blog.csdn.net/RedemptionC/article/details/109137454</link><guid>https://blog.csdn.net/RedemptionC/article/details/109137454</guid><author>RedemptionC</author><pubDate>Sat, 24 Oct 2020 20:10:20 +0800</pubDate><description><![CDATA[你是一个专业的小偷，计划偷窃沿街的房屋。每间房内都藏有一定的现金，影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统，如果两间相邻的房屋在同一晚上被小偷闯入，系统会自动报警。

给定一个代表每个房屋存放金额的非负整数数组，计算你 不触动警报装置的情况下 ，一夜之内能够偷窃到的最高金额。



示例 1：

输入：[1,2,3,1]
输出：4
解释：偷窃 1 号房屋 (金额 = 1) ，然后偷窃 3 号房屋 (金额 = 3)。
  偷窃到的最高金额 = 1 + 3 = 4 。
示例 2：
...]]></description><category></category></item><item><title><![CDATA[lc 287. 寻找重复数(快慢指针]]></title><link>https://blog.csdn.net/RedemptionC/article/details/109110967</link><guid>https://blog.csdn.net/RedemptionC/article/details/109110967</guid><author>RedemptionC</author><pubDate>Fri, 16 Oct 2020 13:28:01 +0800</pubDate><description><![CDATA[不能更改原数组（假设数组是只读的）。
	只能使用额外的O(1) 的空间。
	时间复杂度小于O(n2) 。
本题的难点主要在于上述几个要求：

因为1，所以不能将元素移到他对应的位置，然后通过对应的位置上已经有数字来判断重复；也不能对原数字排序

因为2，不能使用hash计数来判断

看题解发现了一个绝妙的解法：

通过元素的值，将数组index串起来，既然有重复，就形成了一个环，就能用快慢指针来解决，比如：

0 1 2 3 4

1 3 4 2 2

那么0-&gt;1-&gt;3-&gt;2-&...]]></description><category></category></item><item><title><![CDATA[lc 253. 会议室 II]]></title><link>https://blog.csdn.net/RedemptionC/article/details/109071435</link><guid>https://blog.csdn.net/RedemptionC/article/details/109071435</guid><author>RedemptionC</author><pubDate>Wed, 14 Oct 2020 13:36:14 +0800</pubDate><description><![CDATA[本质是要求：所有的时刻，正在开会的会议数的最大值

开始没有思路，后来讨论区提到了，这其实就像上下车，一旦开始开会，那么就上车了，一旦会议结束，就下车了，要求的是车上人数的最大值

做法是维护开始开会时间，结束开会时间两个list，排序，然后用两个指针分别遍历，如果开始的时间较大，那么车上人数++，否则，则是人数--

取最大值

因为结束会议的时间总是大于（等于）开始会议的时间，所以不会出现ep遍历完了，sp还没遍历完的情况（先取小的嘛，肯定是sp先完）


import java.util.ArrayL]]></description><category></category></item><item><title><![CDATA[lc 1616. 分割两个字符串得到回文串]]></title><link>https://blog.csdn.net/RedemptionC/article/details/109019378</link><guid>https://blog.csdn.net/RedemptionC/article/details/109019378</guid><author>RedemptionC</author><pubDate>Mon, 12 Oct 2020 00:08:14 +0800</pubDate><description><![CDATA[这个题直觉上感觉很简单，但是按照直觉的做法做，却发现corner case不断

看了别人的题解，发现这个题主要考虑这么几种情况：

（首先我们定义一下在i处cut：分割得到[0,i-1],[i,len-1]两个字符串

1.其中一个串本身就是回文串，如aba,abc

那么我们只需要在0处cut（注意，这里i-1&lt;0,代表空串），那么得到空串+aba，以及空串加abc，只要让第一个里的aba和另一个里的空串组合即可得到回文串

因此我们首先检查两个串是否本身就是回文串

2.这里一开始的做法和我的直]]></description><category></category></item><item><title><![CDATA[lc 236. 二叉树的最近公共祖先]]></title><link>https://blog.csdn.net/RedemptionC/article/details/108986436</link><guid>https://blog.csdn.net/RedemptionC/article/details/108986436</guid><author>RedemptionC</author><pubDate>Fri, 09 Oct 2020 21:08:24 +0800</pubDate><description><![CDATA[/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNod.]]></description><category></category></item></channel></rss>