我正在复习 Java 角色的原始类型面试问题。我在测试期间被问到这样的陈述。
原始类型是不继承自 java.lang.Object 的任何类型。
我写了一个快速选择算法如下:
def partition(arr):
pvt = 0
for i in range(len(arr) - 1):
if arr[i] < arr[-1]:
arr[i], arr[pvt] = arr[pvt], arr[i] # mv smaller elements before pvt
pvt += 1
arr[-1], arr[pvt] = arr[pvt], arr[-1]
return pvt
def quickselect(k, arr):
p = partition(arr)
while k != p:
p = partition(arr[:p]) if k < p else partition(arr[p:])
return arr[k]
Run Code Online (Sandbox Code Playgroud)
我打算做的是在具有O(n)复杂度的arr中找到第k个元素.但是当我完成编码时,我发现arr [:p]实际上传递的是副本而不是原始列表的一部分,这不会使递归分区正常工作.据我所知,熊猫系列切片实际上做了我想要的.如果我将arr作为pd.Series传递,它似乎正常工作.但是有更原生的方式来传递python list arr [:p]的原始片段吗?
我在bin文件夹中有一个.sh文件,但是当我尝试使用它时,服务器无法在文件夹中找到它.
/home/monju/full/app/bin $ls
checkServer.sh etf_disagg_config_loader.sh getLogName.sh mapr
common.sh findLog.sh jgrouplog.sh phase2b
commonStart.sh findServer.sh jmx postInstallSetup.sh
errorLog.ksh followLog.sh jrebel.sh probe.sh
etf genTestFile.ksh killServer.sh RMSDisable.sh
/home/monju/full/app/bin $stopServer.sh
bash: stopServer.sh: command not found
Run Code Online (Sandbox Code Playgroud)
当我使用时/home/monju/full/app/bin/stopServer.sh,它可以使用.