算法
ydjjcdd
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分查找求右区间
二分查找求右区间,也就是求大于等于 target的区间的索引。在很多二分查找相关题目中,会涉及到。 public int binarrySearch(int target,int[] arr){ int left=0; int right=arr.length-1; while(left<right){ int mid = left+(right-left)/2;原创 2021-11-08 09:45:09 · 165 阅读 · 0 评论 -
105.从前序与中序遍历序列构造二叉树
/** * 105. 从前序与中序遍历序列构造二叉树 * 给定一棵树的前序遍历 preorder 与中序遍历 inorder。请构造二叉树并返回其根节点。 * * * * 示例 1: * * * Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7] * Output: [3,9,20,null,null,15,7] * 示例 2: ..原创 2021-09-23 09:02:01 · 156 阅读 · 0 评论 -
彻底弄明白什么是算法的时间复杂度
一、概述衡量一个算法好坏的条件有两个:时间复杂度和空间复杂度。时间复杂度,代表了算法执行的快慢。空间复杂度,代表了一个算法需要开辟的内存空间的大小。二、时间复杂度时间复杂度,并不代表具体的执行时间,而是代表算法执行时间大小一种衡量方式。==影响算法快慢的条件除了算法的时间复杂度,还跟算法的规模有关。算法规模即,输入数据的多少。...原创 2021-09-06 09:43:50 · 2953 阅读 · 0 评论 -
while循环和for循环的选择
1、应用场景for循环更偏重于从头到尾的范围的便利,如遍历一个数组。while循环,更偏重于满足于某个条件下的数据的处理。2、二者又是可以完全互换的for转while int [] arrray={1,2,3}; int i=0; // for (i = 0; i < arrray.length-1; i++) { //处理数据 //} //for 转while原创 2021-08-18 09:03:59 · 661 阅读 · 0 评论 -
二分查找取中间值的计算方式
1、二分查找通常写法(leetcode 704)给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。public int question1(int[] nums, int target){ int left=0; int right=nums.length-1; while (left<=right) { int index=l...原创 2021-08-03 09:36:46 · 2404 阅读 · 0 评论
分享