题目 剑指 Offer 11. 旋转数组的最小数字 我的思路 显然用二分查找,时间复杂度logn,最坏情况可能达到n。 要注意二分查找的边界条件判断,以及如果无法判断此次二分是取左或者去右时,可以尝试把上边界下标减1,再重新二分(安全地缩小边界)。 我的实现 class Solution { pub ...
分类:
编程语言 时间:
2020-07-22 16:15:20
阅读次数:
68
构造一个含有50个素数的素数表,当下一次出现数字需要判断是否为素数的时候,就可以直接在素数表中用二分查找法寻找是否为素数了。 public static void main(String[] args) { int[] a=new int[50];//new一个专门存放素数的数组 a[0]=2;// ...
分类:
编程语言 时间:
2020-07-22 01:36:26
阅读次数:
74
1.今天学习了java的工具类,下面列举用工具类进行二分查找: import java.util.Arrays; public class ArraysBinaryDemo{ public static void main(String[] args){ int[] ary={2,3,4,5,9,7 ...
分类:
其他好文 时间:
2020-07-20 22:58:32
阅读次数:
110
内部排序:数据记录在内存中进行排序外部排序:待排序文件较大,需要访问外存常见的内部排序:插入排序(直接插入、折半插入、希尔排序)、交换排序(冒泡、快排)、选择排序(简单选择、堆排序)、归并排序(2路归并)、基数排序外排:归并排序(多路归并)、各种内排的性能比较:插入排序每次将一个待排序的记录按关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成每一轮能够确定一个最终位置的记录,某时刻的状态
分类:
编程语言 时间:
2020-07-19 16:23:30
阅读次数:
50
链接:https://leetcode-cn.com/problems/recover-binary-search-tree/ 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode ...
分类:
其他好文 时间:
2020-07-19 11:36:41
阅读次数:
70
问题描述 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 ...
分类:
其他好文 时间:
2020-07-18 19:57:11
阅读次数:
73
链接:https://leetcode-cn.com/problems/unique-binary-search-trees-ii/ 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNo ...
分类:
其他好文 时间:
2020-07-18 13:39:30
阅读次数:
56
Java顺序查找、二分查找 查找算法中顺序查找算是最简单的了,无论是有序的还是无序的都可以,只需要一个个对比即可,但其实效率很低。 顺序查找 动图演示 详细代码 // 顺序查找 public static boolean search(int[] arrray, int key) { for (in ...
分类:
编程语言 时间:
2020-07-18 13:34:27
阅读次数:
57
链接:https://leetcode-cn.com/problems/unique-binary-search-trees/ 代码 class Solution { public: int numTrees(int n) { vector<int> f(n + 1); f[0] = 1; for ...
分类:
其他好文 时间:
2020-07-18 11:25:21
阅读次数:
56
思路 二分查找,注意如果target不在数组中时,需要判断一下下标 代码 class Solution { public int searchInsert(int[] nums, int target) { //二分查找 int left = 0; int right = nums.length - ...
分类:
其他好文 时间:
2020-07-18 00:42:00
阅读次数:
64