LeetCode.3.567(滑动窗口)
3.无重复字符的最长子串class Solution { public: /*bool judge(string s) { for (int i = 1; i < s.size(); i++) { for (int j = 0; j < i; j++) { if (s[i] == s[j]) return 0; } } return 1; }*/ int lengthOfLongestSubstring(string s) { int len = 0; vector<int> sElem(128, -1); int left = 0, right = 1; sElem[s[left]] = 0; if (s.size() == 1) ...
LeetCode.344.557.876.19(双指针)
344.反转字符串class Solution { public: void reverseString(vector<char> &s) { for (int i = 0; i < s.size() / 2; i++) { char temp = s[i]; s[i] = s[s.size() - 1 - i]; s[s.size() - 1 - i] = temp; } // 477/477 cases passed (12 ms) // Your runtime beats 94.86 % of cpp submissions // Your memory usage beats 87.91 % of cpp submissions (22.5 MB) /*for (int i = 0, j = s.size() - 1; i < s.size() / ...
LeetCode.977.189.283.167(双指针)
977.有序数组的平方class Solution { public: vector<int> sortedSquares(vector<int> &nums) { /*vector<int> ans; int left = 0, right = nums.size() - 1; while (right > left) { int ansLeft = nums[left] * nums[left], ansRight = nums[right] * nums[right]; if (ansLeft <= ansRight) { ans.insert(ans.begin(), ansRight); right--; } else { ans.insert(ans.beg ...
LeetCode.704.278.35(二分查找)
想了想,觉得还是从头系统地学习一下算法比较好,不然题刷了都记不住
704.二分查找#include <vector>using namespace std;class Solution { public: int search(vector<int> &nums, int target) { /*int start = 0; int end = nums.size() - 1; while (end >= start) { if (nums[(end + start) / 2] < target) { start = (end + start) / 2 + 1; } else if (nums[(end + start) / 2] > target) { end = (end + start) / 2 - 1; ...
LeetCode:3、4、83、88
3、无重复字符的最长子串#include <string>using namespace std;class Solution { public: int lengthOfLongestSubstring(string s) { int len = 0; while (!s.empty()) { bool flag = 0; for (int i = 0; i < s.length(); i++) { if (flag) break; for (int j = 0; j < i; j++) { if (s[i] == s[j]) { len = i > len ? i : len; s = s. ...
数据结构 1、绪论
数据结构讨论的范畴与数据结构相关的概念数据所有能被输入到计算机中,且能被计算机处理的符号(数字、字符等)的集合。
是计算机操作的对象的总称。
是计算机处理的信息的某种特定的符号表示形式。
数据元素是数据(集合)中的一个 “个体”,在计算机中通常作为一个整体进行考虑和处理。是数据结构中讨论的基本单位。
关键字能识别一个或几个数据元素的数据项。若能起唯一识别作用,则被称为“主”关键字,否则称为“次”关键字。
数据对象具有相同特性的数据元素的集合。如:整数、实数等。
数据结构有一个特性相同的数据元素的集合,如果在数据元素之间存在一种或多种特定的关系,则称为一个数据结构。
从关系或结构分,数据结构可归结为以下四类:
线性结构
树形结构
图状结构
集合结构
数据结构包括“逻辑结构” 和“物理结构”两个方面(层次):
逻辑结构:是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合上的若干关系来表示;
物理结构:是逻辑结构在计算机中的表示和实现,故又称“存储结构” 。
存储结构是逻辑结构在存储器中的映象
“关系” 的两种映象方法:顺序映象:
以 x 和 y 之间相对的存储位 ...
数据库基础教程 2、关系数据库模型——关系数据库基础
关系数据库结构二维表与关系数据结构二维表特点:
具有表名
由表头和若干航数据两部分构成
有若干列,每列都有列名
同一列的值必须取自同一个域
每一行的数据代表一个实体的信息
对二维表可以进行如下操作
查询数据
增加数据
修改数据
删除数据
关系数据模型中常见的术语:
关系。一个关系指一张二维表。
元组。一个元组指二维表中的一行。
属性。一个属性指二维表中的一列。
码。也称键、关键字、关键码,指表中可唯一确定元组的属性或属性集合。
域。指属性的取值范围。
分量。分量是指元组中的一个属性值。
关系模式。关系模式是对关系“型”的描述,通常表示为关系名(属性1,属性2,属性3,……属性n)。
关系数据结构的形式化定义域域是一组具有相同数据类型的值的集合,又称值域。
笛卡尔积给定一组域$D_1,D_2,……,D_n$,理解为这些域中所有的元素的所有组合就行,当然,同域的元素组合后的结果不在同组。
写作$D_1\times D_2\times ……\times D_n$。
结果的组合个数即为所有域的元素个数相乘。
关系笛卡尔积$D_1\times D_2\times ……\times D ...
数据库基础教程 1、数据库概览——示例、概念与展示
数据管理技术的发展人工管理阶段特点:
数据不能长期保管在计算机中
采用应用程序管理数据,数据与程序结合在一起
数据是面向应用的
文件系统阶段优点:
数据能够长期保存
由专门软件对数据进行管理,程序与数据之间有了一定的独立性
独立性:数据发生改变,程序不改变
缺点:
数据共享性差,冗余度大
数据独立性差
数据库系统阶段特点:
数据结构化
数据共享性高,冗余度低,易于扩充
数据独立性高
数据独立性是指数据的组织和储存与应用程序之间互不依赖,彼此独立的特性,当数据的物理结构发生变化时,应用程序不需要改变
数据统一管理与控制
理解数据库系统数据库系统的组成
数据库
数据库的软件系统
数据库系统的人员
数据库系统的体系结构数据库系统的三级模式结构
模式,一个数据库只有一种模式
外模式,一个数据库可以有多个外模式
内模式,一个数据库只有一个内模式
数据库系统的二级映像
外模式/模式映像。对于每个外模式,数据库系统都有一个外模式/模式映像,它保证了数据的逻辑独立性。当模式发生改变时(如增加新的数据类型或数据项),只要对各外模式/模式映像做相应的修改,就可以使外模式保持 ...
LeetCode:53、58、66、67
53、最大子序和/* * @Author: 零泽 * @Date: 2021/04/26 15:52:56 * @LastEditors: 零泽 * @LastEditTime: 2021/04/26 16:09:27 * @FilePath: \vscode\leetcode\53.最大子序和.cpp * @Description: *//* * @lc app=leetcode.cn id=53 lang=cpp * * [53] 最大子序和 */// @lc code=start#include <iostream>#include <vector>using namespace std;class Solution { public: int maxSubArray(vector<int> &nums) { int SumMax = nums.at(0); int temp; for (int i = 0; i < nums.size(); i++) ...
计算机组成原理 3、储存器及储存原理
存储器概述存储器分类
存储器是计算机系统中的记忆设备,用来存放程序和数据。
构成存储器的存储介质,目前主要采用半导体器件和磁性材料。
存储器中最小的存储单位,就是一个双稳态半导体电路或磁性材料的存储元(位),它可存储一个二进制代码。
由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。
根据存储材料的性能及使用方法不同,存储器有各种不同的分类方法:
按存储介质分
按存储方式分
按信息的可保存性分
按在计算机系统中的作用分
按存储介质分:半导体存储器:用半导体器件组成的存储器。
如RAM、ROM,用作主存。
磁表面存储器:用磁性材料做成的存储器。
如磁盘、磁带,用作辅存。
激光存储器:信息以刻痕的形式保存在盘上,用激光束照射盘面,靠盘面的不同反射率来读信息。
光盘(只读性光盘CD-ROM、只写一次型光盘WORM等),用作辅存。
按存储方式分类:随机存储器(RAM):
任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关。(主存)
只读存储器(ROM):
是一种对其内容只能读不能写入的存取器,即预先一次写入的存取器。一旦写入长期保存。
写 ...