随笔分类 - 剑指offer
摘要:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 样例: 首先有两种思路: 二分查找是最直观的,横的方向和竖方向都是有序数列。所以可以遍历横方向然后利用二分查找。O(nlogn)
阅读全文
摘要:请实现一个函数,把字符串中的每个空格替换成"%20"。 你可以假定输入字符串的长度最大是1000。注意输出字符串的长度可能大于1000。 样例 (双指针扫描) O(n)在部分编程语言中,我们可以动态地将原数组长度扩大,此时我们就可以使用双指针算法,来降低空间的使用: 首先遍历一遍原数组,求出最终答案
阅读全文
摘要:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。 例如输入12,从1到12这些整数中包含“1”的数字有1,10,11和12,其中“1”一共出现了5次。 输入: 12 输出: 5 从1到n,每增加1,weight就会加1,当weight加到9时,再加1又会回到0重新开始。那么weigh
阅读全文
摘要:class Solution { public: void reOrderArray(vector &array) { int end=array.size()-1; int start=0; while(start<end){ while (array[start]&1) { start++; } ...
阅读全文
摘要:题目链接:https://www.acwing.com/problem/content/75/ 参考链接:https://www.cnblogs.com/baccano-acmer/p/9997514.html 单调队列,即单调递减或单调递增的队列。使用频率不高,但在有些程序中会有非同寻常的作用 单
阅读全文