python排序采用什么空间复杂度?我无法在任何地方找到任何明确的文件
因此,我正在从该网站上阅读一些代码:http : //www.geeksforgeeks.org/write-ac-program-to-find-the-parity-of-an-unsigned-integer/
它显示了如何确定数字是偶数还是奇数奇偶校验。但是,我不明白为什么运行时效率是log(n)。这是供参考的代码:
# include <stdio.h>
# define bool int
/* Function to get parity of number n. It returns 1
if n has odd parity, and returns 0 if n has even
parity */
bool getParity(unsigned int n)
{
bool parity = 0;
while (n)
{
parity = !parity;
n = n & (n - 1);
}
return parity;
}
Run Code Online (Sandbox Code Playgroud) 我遇到了以下 leetcode 问题,我对一些人用来解决它的方法有疑问。问题是:给定一个非空的二叉搜索树和一个目标值,在BST中找到最接近目标的k个值。
注意:给定的目标值是一个浮点数。
您可以假设 k 始终有效,即: k ? 总节点数。
你保证在 BST 中只有一组唯一的 k 值最接近目标。
因此,有些人所做的是,他们在保持最近元素的 ak 大小队列的同时进行了有序遍历。在顺序遍历过程中,如果发现比队列中的第一个节点更接近目标的元素,则从队列中删除第一个节点并添加当前值。我的问题是,为什么它们与队列中的第一个元素进行比较?这是我所指的一些代码:https : //leetcode.com/discuss/94472/inorder-one-linkedlist-java-solution-beat-85%25