小编Pha*_*ung的帖子

枚举第k个位设置为1到n之间的所有数字的最佳方法是什么?

枚举1到n具有kth位设置的所有数字的最佳方法是什么?

例如:
何时n = 12k = 1,答案将是1, 3, 5, 7, 9, 11.
如果k = 2,回答将是2, 3, 6, 7, 10, 11.

一个简单的方法是循环n并检查是否kth设置了位(通过检查num & (1 << (k-1))10)但有没有更好的方法来做到这一点?

algorithm data-structures

3
推荐指数
1
解决办法
95
查看次数

找到带有O(1)空格和O(n)时间的重复数字

我在leetcode中解决了一个问题

给定包含n + 1个整数的数组nums,其中每个整数在1和n之间(包括1和n),证明必须存在至少一个重复的数字.假设只有一个重复的数字,在O(n)时间和O(1)空间复杂度中找到重复的数字

class Solution(object):
    def findDuplicate(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        xor=0
        for num in nums:
            newx=xor^(2**num)
            if newx<xor:
                return num
            else:
                xor=newx
Run Code Online (Sandbox Code Playgroud)

我接受了解决方案,但我被告知它既不是O(1)空间也不是O(n)时间.

谁能帮助我理解为什么?

python algorithm data-structures

2
推荐指数
1
解决办法
796
查看次数

SQL ODBC适配器内存不足异常

我使用odbc适配器和数据集连接并从IBM的I Series AS400数据库接收数据.

我有一个odbc连接,如下所示:

OdbcCommand cmd = new OdbcCommand(queryString, conn);           // Set Active Query
OdbcDataAdapter rt = new OdbcDataAdapter(queryString, conn);    // Active Data Transfer
DataSet ds = new DataSet();                                     // Create DataSet
rt.SelectCommand.CommandTimeout = 180;                          // Set Command Timeout
rt.Fill(ds);                                                    // Transfer All Data
var reader = ds.CreateDataReader();                             // Create Reader
reader.Read();                                                  // Read
while (reader.Read()) { ... }
Run Code Online (Sandbox Code Playgroud)

它奇怪地给了System.OutOfMemoryException网上rt.Fill(ds);

如果有10亿行,包含130列会导致此错误吗?

如何避免此错误并收到我想要的数据?

c# sql odbc out-of-memory sqldataadapter

0
推荐指数
1
解决办法
1013
查看次数

在MacOS上设置JAVA_HOME和PATH

我想用ant执行build.xml文件.但是我在识别ant和Java的路径方面遇到了麻烦.我尝试将位置更改为bashrc中的正确位置,并尝试使用以下命令将其更改为当前命令窗口:

export path=/usr/local/apache-ant/bin:"$PATH"
echo 'export path=/usr/local/apache-ant/bin:"$PATH"' >> ~/.profile

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin:"$PATH"
Run Code Online (Sandbox Code Playgroud)

同样回显JAVA_HOME的配置文件但是当我检查这些路径时,它们没有改变.我错过了什么吗?

echo $path
/usr/local/apache-ant/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin


echo $JAVA_HOME
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

java linux apache ant macos

0
推荐指数
1
解决办法
2万
查看次数