ホームページ >バックエンド開発 >PHPチュートリアル >最大ビット単位の AND を使用した最長のサブ配列
2419。最大ビット単位 AND
を持つ最長のサブ配列難易度: 中
トピック: 配列、ビット操作、頭の体操
サイズ n の整数配列 nums が与えられます。
可能な最大のビット単位のANDを持つnumsからの空でない部分配列を考えます。
そのようなサブ配列の最長の長さを返します。
配列のビット単位の AND は、配列内のすべての数値のビット単位の AND です。
サブ配列は、配列内の要素の連続したシーケンスです。
例 1:
例 2:
制約:
ヒント:
解決策:
まず問題を段階的に分析してみましょう:
ビットごとの AND プロパティ:
目的:
入力配列 [1,2,3,3,2,2] の最大値は 3 です。3 だけを持つ最長の連続部分配列は [3,3] で、長さは 2 です。
このソリューションを PHP で実装してみましょう: 2419。最大ビット単位 AND
を持つ最長のサブ配列
<?php /** * @param Integer[] $nums * @return Integer */ function longestSubarray($nums) { ... ... ... /** * go to ./solution.php */ } // Test cases $nums1 = [1, 2, 3, 3, 2, 2]; $nums2 = [1, 2, 3, 4]; echo "Output for [1, 2, 3, 3, 2, 2]: " . longestSubarray($nums1) . "\n"; // Output: 2 echo "Output for [1, 2, 3, 4]: " . longestSubarray($nums2) . "\n"; // Output: 1 ?>
予想どおり、入力 [1, 2, 3, 3, 2, 2] の場合、出力は 2 になり、[1, 2, 3, 4] の場合、出力は 1 になります。
このソリューションは制約を処理し、問題を効率的に解決します。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上が最大ビット単位の AND を使用した最長のサブ配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。