文字列を指定すると、考えられるすべての組み合わせを返します
例: abc
は、a、b、c、ab、ac、bc、ca、cb、abc、acb、bac、bca、cab、cbaを返します
返信内容:
例: abc
は、a、b、c、ab、ac、bc、ca、cb、abc、acb、bac、bca、cab、cbaを返します
この質問は非常に興味深いと思います。Python 愛好家として、私は @garry_qian の答えに同意できません。Python は非常に便利な標準ライブラリを提供しているので、これを使用しないのは残念です。簡潔で短い (いや、違う...) ですが、論理的には基本的に次のとおりです:
リーリー
を使ったfor
リスト内包表記に過ぎません。 同時に、元の質問に近い文字列のリストを返します。
しかし、これは私の中にいくらかの好奇心を呼び起こし、私はそれを自分で書きたいと思いました。同時に、これらの並べ替えや結合ツールを持たない他の言語では、同じロジックを使用してそれを完成させる方が簡単かもしれません。
私が最初に完成させたのは、文字列を置換し、あらゆる長さのすべての文字の組み合わせを返す組み合わせに関する関数でしたが、それらを並べ替えることはしませんでした。
リーリー
テスト: リーリー
予想通り、次の結果が得られました:
- 長さ1
'c', 'b', 'a'
- 長さ 2
'bc', 'ac', 'ab'
- 長さ 3
'abc'
この書き方は決してベストではありませんが、アイデアとしてはかなり面白いと思います。考え方は、
のすべての組み合わせを考慮することです。つまり、a
を採用するか、b
を採用するか、および c
を採用するかを検討します。したがって、合計 2*2*2 = 8
(2**len(string)
) の組み合わせがあり、以下に対応します:'abc'
的所有組合,那不就是分別考慮 a
要不要取,b
要不要取 和 c
要不要取,於是總共 2*2*2 = 8
(2**len(string)
リーリー
では、ちょっとしたトリックを使って1から7までのバイナリコードを生成し、0と1に基づいてそれぞれの組み合わせにどの文字を使用するかを決定しました。 get_combinations
これはまだタスクを完了していません:
標準的な答えを取得する必要があります。
すべてのこれにより、組み合わせのすべての順列状況
この関数が生成されます:get_permutations
リーリー
テスト: リーリー
ロジックは非常に単純で、再帰的メソッドを使用してすべての順列を見つけます。 固定長度字元組合
上記の 2 つの関数を使用すると、答えを見つけることができます:
リーリー
結論:
- タイヤを再発明しないでください。疲れるだけでなく、バカに見えてしまいます
- 人生は短い、私はPythonを使っています
タグも同時にタグ付けされているのでどちらでも書きましょう。ロジックは同じです。
php
和 python
リーリー
php
リーリー
python
リーリー
python2.7、@garry_qian と同じですが、他の Python ソリューションを見るのが面倒なので書いて初めて知りました。 リーリー
P(2,3)
P(3,3)12の可能性
文字列の長さを 2 とすると、すべての組み合わせは 2! + 2! = 4 になります。
文字列の長さを 4 とすると、次の式になります: 4! / 4!一般化されました
n! + n! / (n-1)!
コードは投稿しません

ホット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)

ホットトピック









PHPでは、最終的なキーワードを使用して、クラスが継承されないようにし、メソッドが上書きされます。 1)クラスを決勝としてマークする場合、クラスを継承することはできません。 2)メソッドを最終的にマークする場合、メソッドはサブクラスによって書き換えられません。最終的なキーワードを使用すると、コードの安定性とセキュリティが保証されます。

この記事では、MySQLデータベースの操作を紹介します。まず、MySQLWorkBenchやコマンドラインクライアントなど、MySQLクライアントをインストールする必要があります。 1. mysql-uroot-pコマンドを使用してサーバーに接続し、ルートアカウントパスワードでログインします。 2。CreatedAtaBaseを使用してデータベースを作成し、データベースを選択します。 3. createTableを使用してテーブルを作成し、フィールドとデータ型を定義します。 4. INSERTINTOを使用してデータを挿入し、データをクエリし、更新することでデータを更新し、削除してデータを削除します。これらの手順を習得することによってのみ、一般的な問題に対処することを学び、データベースのパフォーマンスを最適化することでMySQLを効率的に使用できます。

MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

MySQLパフォーマンスの最適化は、インストール構成、インデックス作成、クエリの最適化、監視、チューニングの3つの側面から開始する必要があります。 1。インストール後、INNODB_BUFFER_POOL_SIZEパラメーターやclose query_cache_sizeなど、サーバーの構成に従ってmy.cnfファイルを調整する必要があります。 2。過度のインデックスを回避するための適切なインデックスを作成し、説明コマンドを使用して実行計画を分析するなど、クエリステートメントを最適化します。 3. MySQL独自の監視ツール(ShowProcessList、ShowStatus)を使用して、データベースの健康を監視し、定期的にデータベースをバックアップして整理します。これらの手順を継続的に最適化することによってのみ、MySQLデータベースのパフォーマンスを改善できます。

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。

MySQLのインストールの一般的な理由とソリューションの失敗:1。誤ったユーザー名またはパスワード、またはMySQLサービスが開始されない場合、ユーザー名とパスワードを確認してサービスを開始する必要があります。 2。ポートの競合では、MySQLリスニングポートを変更するか、ポート3306を占めるプログラムを閉じる必要があります。 3.依存関係ライブラリがありません。システムパッケージマネージャーを使用して、必要な依存関係ライブラリをインストールする必要があります。 4.許可が不十分な場合、インストーラーを実行するには、sudoまたは管理者の権利を使用する必要があります。 5.誤った構成ファイルでは、構成が正しいことを確認するには、my.cnf構成ファイルを確認する必要があります。着実に慎重に作業することによってのみ、MySQLをスムーズにインストールできます。

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

MySQLは開始を拒否しましたか?パニックにならないでください、チェックしてみましょう!多くの友人は、MySQLのインストール後にサービスを開始できないことを発見し、彼らはとても不安でした!心配しないでください、この記事はあなたがそれを落ち着いて対処し、その背後にある首謀者を見つけるためにあなたを連れて行きます!それを読んだ後、あなたはこの問題を解決するだけでなく、MySQLサービスの理解と問題のトラブルシューティングのためのあなたのアイデアを改善し、より強力なデータベース管理者になることができます! MySQLサービスは開始に失敗し、単純な構成エラーから複雑なシステムの問題に至るまで、多くの理由があります。最も一般的な側面から始めましょう。基本知識:サービススタートアッププロセスMYSQLサービススタートアップの簡単な説明。簡単に言えば、オペレーティングシステムはMySQL関連のファイルをロードし、MySQLデーモンを起動します。これには構成が含まれます
