Problem : Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as follows: The left subtree of a node con ...
分类:
其他好文 时间:
2020-02-17 21:21:48
阅读次数:
105
C语言版 第一题 二分查找 感觉还好 c include include int Sum(int A[], int N) { int maxSum, thisSum; maxSum = thisSum = 0; for (int i = 0; i maxSum) maxSum = thisSum; ...
分类:
其他好文 时间:
2020-02-17 17:37:28
阅读次数:
190
Binary Search二分查找 作用:二分查找适用于有序的的数组或列表中,如果列表及数组中有n个元素,通过二分查找查询某一元素的位置需要的步骤是log2(n)(注:该log的底数是2) 1.Python实现 def binary_search(list,item): low = 0 high = ...
分类:
其他好文 时间:
2020-02-17 12:05:44
阅读次数:
70
一、分治算法 分而治之,即把原问题分割成同等结构的子问题,之后针对子问题逐一解决。 插入排序更关心的是治。 归并排序更关心的是分,如何均匀分的问题。 二、分治算法应用 求逆序数 1. 什么是逆序数? 排在前面的元素比后面大。例如:序列 3 5 6 8 1 ;8排在1前面,但是8 > 1。逆序数反映的 ...
分类:
编程语言 时间:
2020-02-15 21:45:56
阅读次数:
86
一、数组 1. 二维数组中的查找 题目描述: ? 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 二分查找 ? 遍历每一行,对每一行进行一次二分查 ...
分类:
其他好文 时间:
2020-02-15 11:49:08
阅读次数:
65
面试题03. 数组中重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 思路:1. 利用字典,时间复杂度O(n),空间复杂度O(n) class Sol ...
分类:
其他好文 时间:
2020-02-14 22:52:28
阅读次数:
100
已知完全二叉树和每条边的权值,q次询问,每次给出sta起点和H。 w=(H-点到sta的权值),求w>0的所有w的加和。 这题用树上前缀和来写,e[i]记录子树上的点到点i的距离,sum[i][j]为e[i]的前缀和 这样每次找到满足大于h-len[i]的长度就行(二分查找) void init() ...
分类:
其他好文 时间:
2020-02-13 17:11:47
阅读次数:
65
懒得写二分查找,结果发现stdlib里自带了二分查找。 C 库函数 void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void ...
分类:
其他好文 时间:
2020-02-13 13:04:57
阅读次数:
96
将有序链表转化为二叉搜索树。题目即是题意,跟[LeetCode] 108. Convert Sorted Array to Binary Search Tree可以一起做。108是从有序数组转化成BST,109是从有序链表转化成BST。区别在于108可以通过找中点的办法快速找到根节点,但是109只能 ...
分类:
其他好文 时间:
2020-02-11 10:10:48
阅读次数:
71
将有序数组转化为二叉搜索树。题目即是题意。只要输出一个有效的BST即可。此题可以跟109题一起做,要求很接近但是做法不太一样。例子, Example: Given the sorted linked list: [-10,-3,0,5,9], One possible answer is: [0,- ...
分类:
其他好文 时间:
2020-02-11 09:53:31
阅读次数:
59