随笔分类 - offer 刷题
摘要:// 面试题48:最长不含重复字符的子字符串 // 题目:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子 // 字符串的长度。假设字符串中只包含从'a'到'z'的字符。 #include <string> #include <iostream> 动态规划 int longestSubstringWithoutDuplication_2(const std::string& str
阅读全文
摘要:给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线, 垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图
阅读全文
摘要:. 题目 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回
阅读全文
摘要:#include #include using namespace std; int find(int index, int k) { int cur_res = 0; while ((k+1)*cur_res > T; for (int i = 0; i > k >> m; vector num(30, -1); for (int j = ...
阅读全文
摘要:剑指的思路: B[i]的值可以看作下图的矩阵中每行的乘积。 下三角用连乘可以很容求得,上三角,从下向上也是连乘。 因此我们的思路就很清晰了,先算下三角中的连乘,即我们先算出B[i]中的一部分,然后倒过来按上三角中的分布规律,把另一部分也乘进去。 先乘以前面再乘以后面 class Solution {
阅读全文
摘要:思路 :先把整个句子翻转,然后再翻转每一个单词 又把string里stl用法重新复习了一遍,里面有些内容比如 reverse sort 会了是真方便
阅读全文
摘要:class Solution { public: vector<vector<int> > FindContinuousSequence(int sum) { vector<vector<int> > result; int small=1; int big=2; int smallMax=(sum+1)/2; //最多两数相加 所以 small只能到 (sum+1)/2 while(small<
阅读全文
摘要:输入一个递增排序的数组和一个数字S,在数组中查找两个数, 使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 1.自己用迭代器两个指针做的 1.left开头,right指向结尾 2.如果和小于sum,说明太小了,left右移寻找更大的数 3.如果和大于sum,说明太大了,rig
阅读全文
摘要:因为两个链表长度不一致 又长又短 而后面部分是公共的,所以求出长链表长度和短链表长度 让长链表把他俩之间的差距先走完,然后两个链表并行的走,直到碰到第一个相同的节点
阅读全文
摘要:反正不想用递归 但是一说是排序的 最好又用二分查找,这样比较快; 方法一 :找出重复数字出现第一次的坐标。以及出现最后一次的坐标; 方法二: 利用一点小技巧
阅读全文
摘要:复制代码 // 面试题54:二叉搜索树的第k个结点 // 题目:给定一棵二叉搜索树,请找出其中的第k大的结点。 #include <iostream> #include "BinaryTree.h" const BinaryTreeNode* KthNodeCore(const BinaryTreeNode* pRoot, unsigned int& k); const BinaryTreeNod
阅读全文
摘要:1 我想的是用map key放值,value放次数。 但是好像不太好 2 set 也可以 遍历输入的vector,当前数字不在set中则插入,否则从set删除(出现两次的数字) 这样结束遍历后set中剩余的就是要找的那两个只出现了一次的数字 3 异或 位运算 本题考查点
阅读全文
摘要:1.正常就是数一个个遍历 然后看哪个是丑数? 2.牛客网好厉害
阅读全文
摘要:1 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0), 要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入 +2147483647 1a33 输出 2147483647 0
阅读全文
摘要:1用全排列 再遍历去比较哪个小这个方法实在是效率太低!!! 2 用sort和字符串结合 sort中的比较函数compare要声明为静态成员函数或全局函数,不能作为普通成员函数,否则会报错。 因为:非静态成员函数是依赖于具体对象的,而std::sort这类函数是全局的,因此无法再sort中调用非静态成
阅读全文

浙公网安备 33010602011771号