题目: 解答: 1 class Solution { 2 public: 3 int searchInsert(vector<int> &nums, int target) 4 { 5 int left = 0; 6 int right = nums.size() - 1; 7 8 while(le ...
分类:
其他好文 时间:
2020-05-05 12:40:50
阅读次数:
49
题目: 解答: 按杨氏矩阵的方法求解,时间复杂度为O(m+n),其中m为矩阵的行数,n为矩阵的列数。 1 class Solution { 2 public: 3 bool searchMatrix(vector<vector<int>>& matrix, int target) 4 { 5 if( ...
分类:
其他好文 时间:
2020-05-05 12:37:47
阅读次数:
47
题目: 解答: 1 class Solution { 2 public: 3 int search(vector<int>& nums, int target) 4 { 5 int l = 0; 6 int r = nums.size() -1; 7 8 while (l <= r) 9 { 10 ...
分类:
编程语言 时间:
2020-05-05 12:36:15
阅读次数:
57
题目: 解答: 思路就是先计算每个字符串中,26个字母每个出现的次数(fun函数的功能),然后就是二分查找找出答案。这里二分查找用的函数是标准库的 upper_bound。 1 class Solution { 2 public: 3 vector<int> numSmallerByFrequenc ...
分类:
其他好文 时间:
2020-05-03 23:08:27
阅读次数:
119
使用二分查找法:前提条件为序列有序,经常在以下两种情况下使用 1.在[1,2,3,4,5,6,7]查找一个目标target数字。相比线性遍历时间复杂度O(n),二分查找时间复杂度为O(logn)。 2.在[0,0,0,1,1,1,1]查找元素1第一次出现的位置。 JAVA /* The isBadV ...
分类:
其他好文 时间:
2020-05-03 20:53:52
阅读次数:
84
统计大串中小串出现的次数(新的解决方案) StringBuffer类 StringBuffer类的概述 我们如果 对字符串进行拼接操作 ,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而 StringBuffer 就可以解决这个问题。 线程安全的可变长度的字符序列 StringBu ...
分类:
编程语言 时间:
2020-05-01 20:55:58
阅读次数:
72
题目描述:(这是一个 交互式问题 ) 给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 的下标 index 值。如果不存在这样的下标 index,就请返回 1。 何为山脉数组?如果数组 A 是一个山脉数组的话,那它满 ...
分类:
编程语言 时间:
2020-05-01 13:06:19
阅读次数:
64
二分查找:思路很简单,细节是魔鬼 参考文章: "https://labuladong.gitbook.io/algo/di ling zhang bi du xi lie/er fen cha zhao xiang jie" 练习题: [leetcode 探索二分查找专题][https://leet ...
分类:
其他好文 时间:
2020-04-30 15:49:29
阅读次数:
89
方法:二分查找 def binary_search(mountain, target, l, r, key=lambda x: x): target = key(target) while l <= r: mid = (l + r) // 2 cur = key(mountain.get(mid)) ...
分类:
编程语言 时间:
2020-04-30 09:43:56
阅读次数:
60
在查找数据的时候除了暴力查找外,还可可以使用二分法查找,二分法查找又叫折半查找。二分法在查找的时候效率是比较高的,但是它有 局限性,就是仅适用于顺序表,不管是升序还是降序都适用。原理就是取顺序表的中间那个元素mid,然后用中间的元素mid和待查找元素x进 行比较大小,以此改变下次的查找区间,使得下次 ...
分类:
其他好文 时间:
2020-04-29 21:53:53
阅读次数:
56