自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 剑指目录

剑指 Offer 09. 用两个栈实现队列

2021-04-20 21:43:06 64

原创 LeetCode之SQL语句(一)

当你曾学过SQL但是现在连增删检查都写不出来,那你看对地方了,直接实操,边写边复习。每个题目有很多写法,这里只是我的写法,非最优。刷题传送门:https://leetcode-cn.com/problemset/database/一. SQL题175. 组合两个表SQL语句:# Write your MySQL query statement belowselect firstname, lastname, city ,statefrom person left join address

2021-09-14 23:57:31 188

原创 数据库基础(2)

SQL TOP 子句TOP 子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。SQL Server 的语法:SELECT TOP number|percent column_name(s)FROM table_nameOracle 语法SELECT column_name(s)FROM table_nameWHERE ROWNUM <= numberSQL LIKE 操作符LIKE 操作符用于在 WHERE 子句中搜索列中的指

2021-08-26 00:18:22 144

原创 数据库基础语句

1.SQL DML 和 DDL可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。1.1 查询和更新指令构成了 SQL 的 DML 部分:SELECT - 从数据库表中获取数据UPDATE - 更新数据库表中的数据DELETE - 从数据库表中删除数据INSERT INTO - 向数据库表中插入数据1.2 SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。SQL 中最重要的 D

2021-08-25 00:25:51 4230 1

原创 LeetCode 热题100道(中等题整理)

1. 两数相加示例:分析:老实人本来准备把两个链表转成整型相加再转回链表,被[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]教做人了,unsigned long都顶不住…注意链表是实际数字的逆序,所以可以直接遍历相加,注意进位就行。class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { int

2021-08-02 22:27:05 1274

原创 C++内存管理(一)

一. C++内存调用四个层次C++ ApplicationC++ Library (std::allocator)C++ primitives : (new, new[], new(), operator new)…CRT (c run-time library)(malloc / free)OS API (such as HeapAlloc, VirtualAlloc,…)每层依次会调用下层来实现,也可以直接调用底层。一般不用OS的内存分配API,不

2021-07-14 23:23:34 65

原创 C++位运算(异或,与,或)的整理

一. 异或运算按位异或运算将两个运算分量的对应位按位遵照以下规则进行计算: 0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0即相应位的值相同的,结果为 0,不相同的结果为 1。异或运算的意思是求两个运算分量相应位值是否相异,相异的为1,相同的为0。按位异或运算的典型用法是求一个位串信息的某几位信息的反。如欲求整型变量j的最右4位信息的反,用逻辑异或运算017^j,就能求得j最右4位的信息的反,即原来为1的位,结果是0,原来为0的位,结果是1。总结:异或运算有以

2021-06-27 15:38:54 2488

原创 401. 二进制手表

题目链接二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,下面的二进制手表读取 “3:25” 。给你一个整数 turnedOn ,表示当前亮着的 LED 的数量,返回二进制手表可以表示的所有可能时间。你可以 按任意顺序 返回答案。小时不会以零开头:例如,“01:00” 是无效的时间,正确的写法应该是 “1:00” 。 分钟必须由两位数组成,可能会以零开头:例如,“10:2” 是

2021-06-21 23:47:48 63

原创 华为机试——中等题整合(二)

后面修改一下排版。。。1.#include<iostream>#include<string>using namespace std;int main(){ string s; int k; while(cin >> s >> k){ string res = s.substr(0,k); cout << res << endl; } return

2021-05-31 00:50:25 210

原创 华为机试——中等题整合

题目来源:牛客网题一 . 进制转换描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。输入描述:输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,输出描述: 输出该数值的十进制字符串。不同组的测试用例用\n隔开。示例1 输入:0xA0xAA输出:10170#include<iostream>#include<string>#include<stdlib.h>using namespace std;int

2021-05-27 01:08:26 346

原创 string 用法简单整理

一.string 头文件string 类的成员函数有很多,同一个名字的函数也常会有五六个重载的版本,这里只整理常用的几个。头文件:#include <string> //注意这里不是string.h string.h是C字符串头文件二.string初始化(1).几个常用初始化//string的初始化,在C++中字符串是一种数据类型;string s1 = "abcdefghijk";string s2("abcdefghijk");string s3(s2);str

2021-05-18 23:40:27 187

原创 华为机试——简单题整合(二)(C++)

题目来源:牛客网题十一. HJ66 配置文件恢复#include <iostream>#include <string>#include <sstream>using namespace std;bool match(string str, string s) { return str.find(s) == 0;}int main() { string str; string cmd[6] = {"reset", "reset board",

2021-05-18 20:54:17 737 1

原创 vector 用法整理

参考:cnblogs.com/Nonono-nw/p/3462183.html一.vector理解vector 是一个类模板(class template),模板允许程序员编写单个类或函数定义,这个类和函数定义可用于不同的数据类型上。因此,我们可以定义保存string对象的 vector,或保存int值的vector,又或是保存自定义的类类型对象(如Sales_item对象)的vector。使用类模板时只需要简单了解类模板是如何定义的就可以了头文件:#include<vector>;

2021-05-18 01:15:11 681

原创 华为机试——简单题整合(一)(C++)

题目来源:牛客网题一. HJ11 数字颠倒题目描述 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001输入描述: 输入一个int整数输出描述: 将这个整数以字符串的形式逆序输出示例1输入 1516000输出 0006151#include <iostream>#include<algorithm>using namespace std;int main(){

2021-05-18 00:43:04 494

原创 剑指 Offer 35. 复杂链表的复制

题目:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个random 指针指向链表中的任意节点或者 null。示例 1: 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]] 示例 2:输入:head = [[1,1],[2,1]] 输出:[[1,1],[2,1]]分析:1 . 复

2021-04-24 22:47:37 61

原创 剑指 Offer 52. 两个链表的第一个公共节点

题目:输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA= 2, skipB = 3 输出:Reference of the node with value = 8 输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为[

2021-04-24 22:31:02 69

原创 剑指 Offer 25. 合并两个排序的链表

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4分析:一个一个比较两个链表的值就行解答:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode

2021-04-22 00:40:14 46

原创 剑指 Offer 24. 反转链表

题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL分析:定义两个指针: pre 和 cur ;pre 在前 cur 在后。每次让 cur 的 next 指向 pre ,实现一次局部反转。局部反转完成之后, pre 和 cur 同时往前移动一个位置循环上述过程,直至 cur到达链表尾部解答:/**

2021-04-21 23:58:21 53

原创 剑指 Offer 22. 链表中倒数第k个节点

题目:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.分析:快慢指针,让快指针和慢指针间距为k,再让快慢指针一起向前,直到快指针到链尾。慢指针所指为倒数第k个节点。解答:/

2021-04-21 23:10:10 46

原创 剑指 Offer 06. 从尾到头打印链表

题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2] 输出:[2,3,1]分析:存到数组里通过reverse翻转一下就行解答:class Solution {public: vector<int> reversePrint(ListNode* head) { vector<int> res; ListNode* p = head; if(p =

2021-04-20 22:50:19 69

原创 剑指 Offer 31. 栈的压入、弹出序列

题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列{1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2}就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1] 输出:true 解释:我们可以按以下顺序执行:push(1), push(2), push(3), pu.

2021-04-20 21:40:53 61

原创 剑指 Offer 30. 包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是O(1)。示例:MinStack minStack = new MinStack(); minStack.push(-2);minStack.push(0); minStack.push(-3); minStack.min(); --> 返回 -3.minStack.pop(); minStack.top(); --> 返回 0

2021-04-19 00:26:46 54

原创 剑指 Offer 09. 用两个栈实现队列

题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“deleteHead”,“appendTail”

2021-04-18 23:32:01 48

原创 剑指1.数组相关(共12道)

目标: 4.9号前数组整理出来前言:每题第一个代码解法都是我写的,所以方法很可能都不是最好的,后面的解法是找的答题区的大神的思路。数据结构和算法都忘了一些,只能刷个题来练练了,先说说俺作为一个间接性上进的小白怎么刷题的吧。第一遍,菜鸡不用指望能会多少,没有思路可以先看下别人写的代码,照着写一遍就行,但方法一定要理解个大概。写完,进度不算快也不算慢,大概花了我一周时间。第二遍,一定要趁着上一遍的热度,也就是我现在吧,看着题目先分析下,基本看到都有点想法了,分类再刷一遍,刷完有空整理下,方便后面看。

2021-04-08 00:08:30 149

原创 Win10Linux子系统WSL2和图形界面安装记录

Win10Linux子系统WSL2和图形界面安装记录前言:WSL2 :Windows Subsystem for Linux刚配的电脑,本来准备装个双系统,但发现windows10自带的WSL2可以和windows系统很容易进行交互,果断先决定试试水。目前已经安装好了WSL2和ubuntu图形界面,这篇文章记录一下安装的过程,和双系统的区别体验段时间之后再说。以下是保姆级教程:一. 安装WSL21.1 启用“ Linux的Windows子系统”可选功能和“虚拟机平台”可选组件先打开控制面板

2021-03-30 00:13:01 792 2

空空如也

空空如也

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

TA关注的人

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