01 2022 档案

摘要:题目链接 解题思路:简单模拟 class Solution { public: string convert(string s, int numRows) { if(numRows==1){ return s; } int L=(numRows-1)*2; int R=0; int len=s.si 阅读全文
posted @ 2022-01-25 18:52 夜灯长明 阅读(33) 评论(0) 推荐(0) 编辑
摘要:题目链接 解题思路:简单模拟即可 class Solution { public: int numberOfMatches(int n) { int sum=0; while(n!=1){ if(n%2==0){ n=n>>1; sum+=n; } else{ n=n>>1; sum+=n; n++ 阅读全文
posted @ 2022-01-25 18:02 夜灯长明 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题目链接 动态规划 class Solution { public: string longestPalindrome(string s) { int begin=0; int n=s.size(); int Max=1; vector<vector<int>>dp(n,vector<int>(n) 阅读全文
posted @ 2022-01-25 17:53 夜灯长明 阅读(24) 评论(0) 推荐(0) 编辑
摘要:参考博客 该算法可以在时间空间都为O(n),求出最大的回文子串 string longestPalindrome(string s) { string str; string ans; int start=0, end=0; str += "$#"; for (int i = 0; i < s.si 阅读全文
posted @ 2022-01-25 17:45 夜灯长明 阅读(25) 评论(0) 推荐(0) 编辑
摘要:string的初始化 string str1 = "hello world"; // str1 = "hello world" string str2("hello world"); // str2 = "hello world" string str3 = str1; // str3 = "hel 阅读全文
posted @ 2022-01-24 17:57 夜灯长明 阅读(82) 评论(0) 推荐(0) 编辑
摘要:串的定义 串是由零个或多个字符组成的有限序列,又叫字符串 串的比较 给定两个串:s="a1a2a3.....an",t="b1b2b3.....bm",当满足以上条件之一时,s<t 1.n<m,且ai=bi(i=1,2...n) 列如当s="hap",t="happy",就有s<t。因为t比s多出了 阅读全文
posted @ 2022-01-24 16:48 夜灯长明 阅读(312) 评论(0) 推荐(0) 编辑
摘要:题目链接 解题思路: 用map存入窗口中26个字母的次数 滑动维护对比即可 写的有点复杂,看了一下题解,用的是vector对比,发现vector的对比的写法还不会,记录一下,简单很多 map写法 class Solution { public: bool checkInclusion(string 阅读全文
posted @ 2022-01-22 18:30 夜灯长明 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目链接 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度 解题思路: 因为是无重复的最长子串,很显然是滑动窗口 用left,right维护窗口的左边界和右边界 用map判断是否存在重复 因为我用下标为1开始,易于维护 所以left=right=1; class Solution 阅读全文
posted @ 2022-01-22 17:36 夜灯长明 阅读(37) 评论(0) 推荐(0) 编辑
摘要:1. 什么是vector 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。 2.容器特性 顺序序列 顺序容器中的元素按照严格的线性顺序排序。可以通过 阅读全文
posted @ 2022-01-22 15:27 夜灯长明 阅读(483) 评论(0) 推荐(0) 编辑
摘要:题目链接 水题:因为仅有‘a’与‘b’,最多删除两次 第一次删除所有‘a’,第二次删除所有‘b’。 如果字符串s为回文串,一次删完即可,否则删两次 class Solution { public: int removePalindromeSub(string s) { string str=s; r 阅读全文
posted @ 2022-01-22 11:15 夜灯长明 阅读(25) 评论(0) 推荐(0) 编辑
摘要:题目链接 解法一: 链表转数组,直接调用随机函数返回即可 class Solution { vector<int> vt; public: Solution(ListNode *head) { while (head) { vt.push_back(head->val); head = head-> 阅读全文
posted @ 2022-01-16 14:18 夜灯长明 阅读(28) 评论(0) 推荐(0) 编辑
摘要:简介: 水塘抽样是一系列的随机算法,其目的在于从包含n个项目的集合S中选取k个样本,其中n为一很大或未知的数量,尤其适用于不能把所有n个项目都存放到内存的情况。 问题: 以谷歌为例,有一道关于水塘抽样的例题 我有一个长度为N的链表,N的值非常大,我不清楚N的确切值.我怎样能写一个尽可能高效地算法来返 阅读全文
posted @ 2022-01-16 12:13 夜灯长明 阅读(133) 评论(0) 推荐(0) 编辑
摘要:栈:后进先出(LIFO-last in first out):最后插入的元素最先出来。 队列:先进先出(FIFO-first in first out):最先插入的元素最先出来。 顺序栈 顺序栈,即用顺序表实现栈存储结构 //元素elem进栈,a为数组,top值为当前栈的栈顶位置 int push( 阅读全文
posted @ 2022-01-16 11:09 夜灯长明 阅读(39) 评论(0) 推荐(0) 编辑
摘要:题目链接 解题思路: 板子题,最基础的二分查找 class Solution { public: int search(vector<int>& nums, int target) { int left=0; int right=nums.size()-1; while(left<=right){ 阅读全文
posted @ 2022-01-15 13:20 夜灯长明 阅读(26) 评论(0) 推荐(0) 编辑
摘要:题目链接 解题思路:BFS+链表 水题:基本BFS 用BFS一层一层遍历一遍,把同一层次的数存入同一个链表链表,最后输出结果即可 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *l 阅读全文
posted @ 2022-01-15 10:27 夜灯长明 阅读(30) 评论(0) 推荐(0) 编辑
摘要:题目链接 在一个大小为 n 且 n 为 偶数 的链表中,对于 0 <= i <= (n / 2) - 1 的 i ,第 i 个节点(下标从 0 开始)的孪生节点为第 (n-1-i) 个节点 。 比方说,n = 4 那么节点 0 是节点 3 的孪生节点,节点 1 是节点 2 的孪生节点。这是长度为 n 阅读全文
posted @ 2022-01-15 08:53 夜灯长明 阅读(46) 评论(0) 推荐(0) 编辑
摘要:本章节的内容有大量数学表达,在博客园写起来实在复杂,建议具体参考唐朔飞教授的《计算机组成原理》第三版 反码 若符号位为0,则反码与原码相同 若符号位为1,则数值位全部取反 补码 正数的补码=原码 负数的补码=反码末位+1(要考虑进位) 移码 补码的基础上将符号位取反 注意:移码只能用于表示整数 阅读全文
posted @ 2022-01-02 21:22 夜灯长明 阅读(40) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示