javascript_javascript ヒントの「/」演算子の一般的なエラー
//二分探索の再帰バージョンを忘れた
関数binary_search(arr, target,low,high){
if(low
if(target>arr[ min])
return binary_search(arr,target,min 1,high);
else
return binary_search(arr,target,low,min); else if(low==high) { //要素が 1 つだけ残っています
if(arr[low]==target)
return low;
else return -1
}else if(low>high){ //空です。arr の初期高値を計算するときは、arr .length-1 を考慮する必要があります。
}
}
alert(binary_search(arr,3,0,arr.length-1));
夜にデータ構造を見て、jsで二分探索アルゴリズムを書きました(コードは上記の通り)、テストデータとしてランダムに配列を書いた(上記の通り)、検索対象の添字を出力するはずですが、予想外のことが発生しました。約 2 秒後、ブラウザは実行中のスクリプトを自動的に終了し、しばらく戸惑いました。
経験上、スクリプトを実行する過程で無限ループが発生するはずですが、独習中にアルゴリズムを確認しましたが、問題はありませんでした (教科書に従ってコードを直接入力するだけで問題ありません)。あなたは間違いではありません)、しかし問題は残ります。そこで、最初の判定条件に次のように出力文を追加しました。
if(low
if(target>arr[min])
return binary_search(arr,target,min 1,high);
else
return binary_search(arr,target,low,min) ) ;
}else if(low==high){ //残りの要素は 1 つだけです
if(arr[low]==target)
else return <🎜; >}else if(low>high){ //空の場合、arr.length-1 を使用して arr
の初期高値を計算するときに考慮する必要があります。 return -1;
}
}
実行すると、ダイアログ ボックスに 2.5 という数字が表示されます~~ 突然、コンピューターを叩きたい衝動に駆られました。
JavaScript の「/」演算子は C の「/」演算子とは異なります。後者は自動的に四捨五入されますが、前者は四捨五入されていない場合は小数点を取得します。整数で割ります (たとえば、5/2=2.5)。
解決策:
(1)var min=parseInt((low high)/2);
(2)var min=Match.floor((low high)/2);

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C 言語にはルート演算子はなく、ルートを開くには組み込み関数 "sqrt()" が使用され、構文 "sqrt(value x)" が使用されます (例: "sqrt(4)")。 4. に対して平方根演算を実行すると、結果は 2 になります。 sqrt() は C 言語の組み込みルート演算関数であり、その演算結果は関数変数の算術平方根であり、この関数は負の値を演算したり、虚数の結果を出力したりすることはできません。

Java では「%」は剰余を意味し、除算を実行して剰余を求めることができる二項算術演算子です。構文は「オペランド 1 % オペランド 2」です。剰余演算子 "%" のオペランドは通常、正の整数、負の数、さらには浮動小数点数です。この演算に負の数が含まれる場合、結果は前の数値が正か負かによって異なります。

Golang 開発者にとって、「invaliduseof...operator」はよくあるエラーです。このエラーは通常、可変長パラメーター関数を使用するときに発生します。これはコンパイル時に検出され、どの部分に問題があるかが示されます。この記事ではこのエラーの解決方法を紹介します。 1. 可変長引数関数とは 可変長引数関数とは、可変長引数関数とも呼ばれ、Golang 言語における関数の一種です。可変長パラメータ関数を使用すると、次のように複数のパラメータ関数を定義できます。

PHP では、「==」記号は 2 つのオペランドが等しいかどうかを比較できる比較演算子で、構文は「オペランド 1 == オペランド 2」です。 「==」演算子は、左側の変数 (式または定数) が右側の変数 (式または定数) と同じ値を持つかどうかを比較およびテストします。比較するのは変数の値のみであり、データは比較しません。種類。 2 つの値が同じ場合は true 値を返し、2 つの値が同じでない場合は false 値を返します。

+= 演算子は、左オペランドの値を右オペランドの値に加算し、その結果を左オペランドに割り当てるために使用されます。これは数値型に適しており、左オペランドは書き込み可能である必要があります。

PHP では、「%」演算子と「==」演算子を使用して 2 つの数値が割り切れるかどうかを判断できます。「%」演算子を使用して 2 つの数値を除算して余りを求め、その後「=」演算子を使用するだけです。 =演算子 求めた余りが0かどうかを判定するだけです。 構文は「数値1 % 数値2 == 0」 0であれば割り切れます、0でなければ割り切れません。

Pythonはそのシンプルで読みやすい構文から幅広い分野で広く使われています。プログラミングの効率を向上させ、コードがどのように機能するかを深く理解するためには、Python 構文の基本構造をマスターすることが重要です。この目的を達成するために、この記事では、Python 構文のさまざまな側面を詳しく説明した包括的なマインド マップを提供します。変数とデータ型 変数は、Python でデータを保存するために使用されるコンテナです。マインド マップには、整数、浮動小数点数、文字列、ブール値、リストなどの一般的な Python データ型が表示されます。各データ型には独自の特性と操作方法があります。演算子 演算子は、データ型に対してさまざまな操作を実行するために使用されます。マインド マップは、算術演算子、比率など、Python のさまざまな演算子の種類をカバーしています。

Python のマジック メソッドは、クラスに「マジック」を追加できる特別なメソッドで、多くの場合、2 つのアンダースコアで囲まれた名前が付けられます。 Python の魔法のメソッド。ダンダー (二重下線) メソッドとも呼ばれます。ほとんどの場合、コンストラクター (init)、文字列表現 (str、repr)、算術演算子 (add/mul) などの単純なものに使用します。実は、聞いたことのない便利なメソッドがたくさんあります。この記事では、それらの魔法のメソッドを整理していきます! コンテナ クラスで使用できるイテレータ __len__ メソッドのサイズは誰もが知っています。 len() 関数がオンです。ただし、イテレータを実装したクラスオブジェクトの長さを取得したい場合は、
