あなたの上司は、かなりの数の従業員(あなたを含む)が他人からコードを盗もうとすることを発見しました。彼は、他の人からコードを盗む人を見つけるのに使用できるプログラムを彼に書くようあなたに命じました。
仕事:
他の誰かからコード(の一部)がコピーされたかどうかを検出するプログラム/関数を作成します。
プログラムは、既存のすべてのプログラムと、2つの個別の入力からテストするプログラムを取得します。 編集:これまでのところ答えがないので、正規表現を使用することができます!
出力
- プログラムは、スペースまたは改行で区切られたすべての盗まれたコードを出力する必要があります。(最後にスペースまたは改行がある場合があります。)
- 10個以上の連続したバイトで構成されているコードは、盗まれたりコピーされたと見なされます。(ごめんなさい、Javaファン!)
- 可能な限り出力する必要がありますが、重複するものがある場合は、どちらかを無視するか、両方を出力することができます。
ねじれ:
前述したように、ダクトテープコーディングも大好きです。つまり、コード内のすべてがスタック交換サイトからコピーアンドペーストされます!必要なもの(コードブロック内のコードに限定されない)を好きなだけコピーできます。(ただし、少なくとも10バイト)(盗まれた/コピーされたと見なされるものについては上記と同じルールです。)(この質問の後に投稿された回答は使用できない場合があることに注意してください。)コードから。
例:
入力:(
x = document.getElementById("ninja'd");
最初の入力)
y = document.getElementById("id");
(2番目の入力)
出力:
= document.getElementById("
入力:(
foo
最初の入力)
foo+bar
(2番目の入力)
出力:
なし。
入力:(
public static void main(String[] args)
最初の入力)
public static void main(String[] args)
(2番目の入力)
出力:
main(String[] args)
入力:(
for(var i=0; i<x.length; i++){}
最初の入力)
for(var i=0; i<oops.length; i++){break;}
(2番目の入力)
出力:
for(var i=0; i<
.length; i++){
または
for(var i=0; i< .length; i++){