小编Lin*_* Ma的帖子

在 Linux Shell 中查找一个文件中但不在另一文件中的行

我有两个文件,一行是一个字符串。我想在第一个文件中查找行,但不在第二个文件中查找行。不管顺序是什么(字符串存在的行号)。一个文件内没有重复的行。想知道 Linux 中的 shell 命令吗?

顺便说一句,如果有一种方法可以找到两个文件的共同行,那就太好了。:)

例如,

文件1,

hello
world
python
java
scala
Run Code Online (Sandbox Code Playgroud)

文件2,

hello
python
C++
C
Go
Run Code Online (Sandbox Code Playgroud)

我想输出,

world
java
scala
Run Code Online (Sandbox Code Playgroud)

提前致谢,林

linux shell

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

如何避免为Hive查询生成空的.deflate文件?

当我运行Hive查询时,.deflate会生成大量空文件(它们实际上大约是8个字节,我认为这是.deflate文件的最小大小).我怀疑这种情况正在发生,因为查询需要大量的reducer.我想知道是否有办法避免生成这些空.deflate文件?

提前致谢,

hadoop hive

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

找到由其他单词组成的最长单词

我正在解决一个问题,即编写一个程序来查找单词列表中由其他单词组成的最长单词。

EXAMPLE
Input: test, tester, testertest, testing, testingtester
Output: testingtester
Run Code Online (Sandbox Code Playgroud)

我搜索并找到了以下解决方案,我的问题是我在第 2 步中感到困惑,为什么我们应该以所有可能的方式打破每个单词?为什么不直接将每个单词作为一个整体使用?如果有人可以提供一些见解,那就太好了。

下面的解决方案执行以下操作:

  1. 按大小对数组进行排序,将最长的单词放在最前面
  2. 对于每个单词,以所有可能的方式将其拆分。即对于“test”,将其拆分为{“t”, “est”}, {“te”, “st”}和{“tes”, “t”}。
  3. 然后,对于每个配对,检查前半部分和第二部分是否都存在于数组中的其他地方。
  4. 通过返回我们找到的符合条件 #3 的第一个字符串来“短路”。

java algorithm

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

将 Oracle .dmp 文件转换为 CSV/TSV

我想知道是否有任何工具可以将 Oracle .dmp 文件转换为 CSV/TSV 或其他易于 Python 或其他脚本语言解析的文本格式?任何在 Windows 或 Linux 上运行的工具都可以。我更喜欢这个工具保留 unicode 字符。

oracle

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

用于子字符串匹配的 KMP 与后缀树

想知道是否有人可以提供一些关于选择 KMP 和后缀树之间优缺点的建议,如果我们想查看一个字符串是否是另一个字符串的子字符串?谢谢。

提前致谢,林

algorithm

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

不推荐使用python 2.7中的set

似乎在Python 2.7中不推荐使用集合,并想知道无序唯一集合的替代方案是什么?谢谢.

from sets import Set

a = Set()
a.add("1")
a.add("2")
a.add("3")

if "1" in a:
    print "1"
if "Hello" in a:
    print "Hello"
Run Code Online (Sandbox Code Playgroud)

问候,林

python set python-2.7

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

Java Enum中的实例

对于Java Enum,INSTANCE意味着什么(我看到我们可以将EnumName.INSTANCE用于Enum中定义的使用方法)?试图从网上找到答案但失败了.

林先生,提前谢谢

java

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

用于Python变量初始化

对于Python变量(例如List和integer),如果我们不初始化它,它们总是None吗?是否有任何情况Python即使我们没有明确初始化它也会为我们做初始化?

对于初始化,我的意思是,

Foo = []
Goo = 0
Run Code Online (Sandbox Code Playgroud)

林先生,提前谢谢

python initialization

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

如何删除Python中的行尾?

我发现每次读一行时,也会包含行尾字符(在vi set list命令中显示为'$'),我想知道如何在从文件中读取时自动删除它?

从打印输出,您可以看到每次输出行尾,以便每次打印两行.

这是代码和输入文件,带输出,

import sys

fileInput = open(sys.argv[1], 'r')

for line in fileInput:
        print line

python TestLineParse.py TestInput.txt.csv
216

218

219

248

head TestInput.txt.csv
216
218
219
248
Run Code Online (Sandbox Code Playgroud)

python

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

反向打印一个小于O(n)空间的不可变链表

处理这个问题,我的想法是递归的,在每次递归期间,反向打印链表的下半部分,然后反向打印链表的上半部分.因此,额外的空间是O(log n)- 用于递归堆栈的额外空间,但它超过O(n)的时间(O(n log n) - 在递归的每个(log n)级别上的组合调用迭代整个列表将每个部分切成两半).

是否存在实现相同目标的算法 - 反向打印具有少于O(n)空间且最多为O(n)时间的不可变单链表?

源代码(Python 2.7):

class LinkedListNode:
    def __init__(self, value, next_node):
        self.value = value
        self.next_node = next_node
    @staticmethod
    def reverse_print(list_head, list_tail):
        if not list_head:
            return
        if not list_head.next_node:
            print list_head.value
            return
        if list_head == list_tail:
            print list_head.value
            return
        p0 = list_head
        p1 = list_head
        while p1.next_node != list_tail and p1.next_node.next_node != list_tail:
            p1 = p1.next_node
            p1 = p1.next_node
            p0 = p0.next_node
        LinkedListNode.reverse_print(p0.next_node, list_tail)
        LinkedListNode.reverse_print(list_head, p0)
if __name__ == "__main__": …
Run Code Online (Sandbox Code Playgroud)

python algorithm linked-list python-2.7

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