摘要:
Q: A: 想到了先对整个数组重新排序,长度小的在前,长度一样的按字符串字典序从小到大排序。之后考察每个字符串就好了,找到一个,当前长度的就都跳过,直接考察长度+1的字符串。 然而蛋疼的是我考察每个字符串是否可以转化为目标字符串时用的是dfs。这题要求的是一个字符串a能转化为字符串b即可,而不是求a 阅读全文
摘要:
Q: A: 1.暴力计算,MN个节点,每个节点遍历MN次,O(M^2* N^2) 代码不贴了 2.我写的DP,时间O(MN),空间O(MN) 代码(有点长,但没什么技巧,就是强行保存算过的值) class Solution { public: int minTotalDistance(vector< 阅读全文
摘要:
Q: 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。 示例 1: 输入: “abc” 输出: 3 解释: 三个回文子串: “a”, “b”, “c”. 示例 2: 输入: “aaa” 输出: 6 说明: 阅读全文
摘要:
今天看剑指offer突然发现下学期都要去面试了,还没自己实现过快排非递归和归并非递归,这怎么能行呢,于是就写了一下。 (虽然有点卡壳,又回去翻了下算导,还是顺利写出来了) 先放图: 一亿数据量: #pragma warning(disable:4996) #include <iostream> #i 阅读全文
摘要:
这个我觉得还比较好理解,比较标准的背包DP 然后放个链接一个妹子的01背包讲解,觉得很不错,防止自己啥时候忘了再看看 class Solution { public: int findTargetSumWays(vector<int>& nums, int S) { int sum=accumula 阅读全文
摘要:
最近看剑指offer,记录一下 #include <iostream> #include <string> #include <cctype> #include<vector> #include<list> #include<cstring> #include<typeinfo> #include< 阅读全文
摘要:
Q: 不使用运算符 + 和 - ,计算两整数 a 、b 之和。 示例 1: 输入: a = 1, b = 2 输出: 3 示例 2: 输入: a = -2, b = 3 输出: 1 A: 主要是记录一下加法可以用异或和与替代,异或等价于没有进位机制的加法,与 阅读全文
摘要:
Q: 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内 阅读全文
摘要:
今天看c++primer第六章,有这部分的内容,脑子有点糊涂了,看了几篇博客,自己敲了下,记录一下备忘。 二级指针: int **p; 二维数组: int p[10][10]; char q[10][10]; 指针数组: int *p[10]; 数组指针: int (*p)[10]; 咋区分后面这俩 阅读全文
摘要:
Q: 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻 阅读全文