面试题之算法汇总
面试题之算法集锦
- 有字符串A,B,求取AB字符串中都含有的字符,例如:①A="hello",B="jeesite",那么输出"e",②A="common",B="month",则输出"mno",输出串的顺序没有要求.
思路1:<span style="color: #000000;">把A去重得到A1</span>,B去重得到B1,然后对A1,B1分别进行排序,然后遍历较短的字符串的每个字符是否存在于较长的字符串中,<span style="color: #000000;">存在则输出问题</span>:1.思路很简单,基本大家都会这么考虑,<span style="color: #000000;">但是面试的时候就没有亮点了思路2</span>:<span style="color: #000000;">假设AB串只包含小写(其实无所谓)</span>,那么创建一个数组,数组的key为a->z,<span style="color: #000000;">value都是0;</span><span style="color: #000000;">php </span><span style="color: #0000ff;">function</span> stringToChar(<span style="color: #800080;">$str</span>,<span style="color: #800080;">$num</span>=1,<span style="color: #800080;">$tmp</span>=<span style="color: #0000ff;">null</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">if</span>(<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">$tmp</span><span style="color: #000000;">)){</span><span style="color: #800080;">$tmp</span>=<span style="color: #0000ff;">array</span>('a'=>0,'b'=>0,'c'=>0,'d'=>0,'e'=>0,'f'=>0,'g'=>0,'h'=>0,'i'=>0,'j'=>0,'k'=>0,'l'=>0,'m'=>0,'n'=>0,'o'=>0,'p'=>0,'q'=>0,'r'=>0,'s'=>0,'t'=>0,'u'=>0,'v'=>0,'w'=>0,'x'=>0,'y'=>0,'z'=>0<span style="color: #000000;">); } </span><span style="color: #800080;">$arr_temp</span>=<span style="color: #008080;">str_split</span>(<span style="color: #800080;">$str</span>,1<span style="color: #000000;">); </span><span style="color: #0000ff;">foreach</span>(<span style="color: #800080;">$arr_temp</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">$v</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$tmp</span>[<span style="color: #800080;">$v</span>]$num<span style="color: #000000;">){ </span><span style="color: #800080;">$tmp</span>[<span style="color: #800080;">$v</span>]+=<span style="color: #800080;">$num</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$tmp</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">function</span> getStringIntersect(<span style="color: #800080;">$str1</span>, <span style="color: #800080;">$str2</span><span style="color: #000000;">){ </span><span style="color: #800080;">$temp</span>=stringToChar(<span style="color: #800080;">$str1</span>,1<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">$str2的$num用2 就是为了区分 stemp中的原来的1 是 $str1中设置的</span> <span style="color: #800080;">$temp</span>=stringToChar(<span style="color: #800080;">$str2</span>,2,<span style="color: #800080;">$temp</span><span style="color: #000000;">); </span><span style="color: #800080;">$result</span>=''<span style="color: #000000;">; </span><span style="color: #0000ff;">foreach</span> (<span style="color: #800080;">$temp</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">$key</span> => <span style="color: #800080;">$value</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$value</span>===3<span style="color: #000000;">){ </span><span style="color: #800080;">$result</span>.=<span style="color: #800080;">$key</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$result</span><span style="color: #000000;">; } </span><span style="color: #800080;">$A</span>="common";<span style="color: #008000;">//</span><span style="color: #008000;">"hello";</span> <span style="color: #800080;">$B</span>="month";<span style="color: #008000;">//</span><span style="color: #008000;">"jeesite";</span> <span style="color: #800080;">$result</span>=getStringIntersect(<span style="color: #800080;">$A</span>, <span style="color: #800080;">$B</span><span style="color: #000000;">); </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$result</span><span style="color: #000000;">;</span>?><br>今天随便浏览网页的时候又发现了这篇文章(一次谷歌面试趣事)<br>我想起来了 思路二出自这篇文章。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





De nombreux utilisateurs choisiront la marque Huawei lors du choix des montres intelligentes. Parmi eux, les Huawei GT3pro et GT4 sont des choix très populaires. De nombreux utilisateurs sont curieux de connaître la différence entre Huawei GT3pro et GT4. Quelles sont les différences entre Huawei GT3pro et GT4 ? 1. Apparence GT4 : 46 mm et 41 mm, le matériau est un miroir en verre + un corps en acier inoxydable + une coque arrière en fibre haute résolution. GT3pro : 46,6 mm et 42,9 mm, le matériau est du verre saphir + corps en titane/corps en céramique + coque arrière en céramique 2. GT4 sain : en utilisant le dernier algorithme Huawei Truseen5.5+, les résultats seront plus précis. GT3pro : ajout d'un électrocardiogramme ECG, d'un vaisseau sanguin et de la sécurité

Le dossier temporaire est notre emplacement de stockage de fichiers temporaires. Le système enregistrera les fichiers temporaires dans ce dossier. S'il y a trop de fichiers temporaires, en particulier lorsque le dossier temporaire se trouve sur le disque système, cela affectera probablement la vitesse de fonctionnement du système. Nous pouvons résoudre le problème en modifiant l’emplacement temporaire. Jetons un coup d’œil ci-dessous. Tutoriel de changement d'emplacement Win7temp 1. Tout d'abord, cliquez avec le bouton droit sur « Ordinateur » et ouvrez « Propriétés » 2. Cliquez sur « Paramètres système avancés » sur la gauche 3. Cliquez sur « Variables d'environnement » ci-dessous 4. Sélectionnez « temp » et cliquez sur « Modifier » 5. Ensuite, changez simplement la "Valeur de la variable" par le chemin qui doit être modifié.

Pourquoi l'outil Snipping ne fonctionne pas sous Windows 11 Comprendre la cause première du problème peut aider à trouver la bonne solution. Voici les principales raisons pour lesquelles l'outil de capture peut ne pas fonctionner correctement : L'assistant de mise au point est activé : cela empêche l'ouverture de l'outil de capture. Application corrompue : si l'outil de capture plante au lancement, il est peut-être corrompu. Pilotes graphiques obsolètes : des pilotes incompatibles peuvent interférer avec l'outil de capture. Interférence provenant d'autres applications : d'autres applications en cours d'exécution peuvent entrer en conflit avec l'outil de capture. Le certificat a expiré : une erreur lors du processus de mise à niveau peut provoquer ce problème. Solution simple. Celles-ci conviennent à la plupart des utilisateurs et ne nécessitent aucune connaissance technique particulière. 1. Mettez à jour les applications Windows et Microsoft Store
![Comment réparer l'erreur de déclenchement thermique du processeur dans Windows 11/10 [Réparer]](https://img.php.cn/upload/article/000/000/164/168169038621890.png?x-oss-process=image/resize,m_fill,h_207,w_330)
La plupart des appareils tels que les ordinateurs portables et les ordinateurs de bureau sont depuis longtemps largement utilisés par les jeunes joueurs et codeurs. Le système se bloque parfois en raison d'une surcharge des applications. Cela oblige les utilisateurs à arrêter leurs systèmes. Cela arrive principalement aux joueurs qui installent et jouent à des jeux lourds. Lorsque le système tente de démarrer après un arrêt forcé, il génère une erreur sur un écran noir comme indiqué ci-dessous : Vous trouverez ci-dessous les avertissements détectés lors de ce démarrage. Ceux-ci peuvent être consultés dans les paramètres de la page du journal des événements. Avertissement : déclenchement thermique du processeur. Appuyez sur n'importe quelle touche pour continuer. ..Ces types de messages d'avertissement sont toujours émis lorsque la température du processeur d'un ordinateur de bureau ou d'un ordinateur portable dépasse son seuil de température. Vous trouverez ci-dessous les raisons pour lesquelles cela se produit sur les systèmes Windows. De nombreuses applications lourdes sont en cours
![Erreur interne : impossible de créer un répertoire temporaire [Résolu]](https://img.php.cn/upload/article/000/000/164/168171504798267.png?x-oss-process=image/resize,m_fill,h_207,w_330)
Le système Windows permet aux utilisateurs d'installer différents types d'applications sur votre système à l'aide de fichiers exécutables/de configuration. Récemment, de nombreux utilisateurs de Windows ont commencé à se plaindre de recevoir une erreur nommée INTERNALERROR:cannotCreateTemporaryDirectory sur leurs systèmes lorsqu'ils essayaient d'installer une application à l'aide d'un fichier exécutable. Le problème ne se limite pas à cela mais empêche également les utilisateurs de lancer des applications existantes, également installées sur le système Windows. Certaines raisons possibles sont énumérées ci-dessous. Exécutez l'exécutable pour l'installer sans accorder les privilèges d'administrateur. Un chemin non valide ou différent a été fourni pour la variable TMP. système endommagé

temp est un dossier temporaire. Dans le chemin "C:\Documents and Settings\Administrator\Local Settings\", de nombreux fichiers temporaires sont placés ici, notamment des favoris, des fichiers temporaires pour parcourir les pages Web, modifier des fichiers, etc.

Sur les ordinateurs, temp signifie « dossier temporaire », qui contient de nombreux fichiers temporaires ; sa fonction est de sauvegarder temporairement les résultats du travail de l'utilisateur dans l'application pour éviter les pertes causées par des accidents. La suppression de fichiers temporaires peut libérer de l'espace de stockage sur le disque dur, mais il sera plus lent d'ouvrir l'application pour la première fois après la suppression.

Partie 1 : étapes de dépannage initiales Vérification de l'état du système Apple : avant d'aborder des solutions complexes, commençons par les bases. Le problème ne vient peut-être pas de votre appareil ; les serveurs Apple sont peut-être en panne. Visitez la page État du système d'Apple pour voir si l'AppStore fonctionne correctement. S'il y a un problème, tout ce que vous pouvez faire est d'attendre qu'Apple le résolve. Vérifiez votre connexion Internet : assurez-vous que vous disposez d'une connexion Internet stable, car le problème "Impossible de se connecter à l'AppStore" peut parfois être attribué à une mauvaise connexion. Essayez de basculer entre le Wi-Fi et les données mobiles ou de réinitialiser les paramètres réseau (Général > Réinitialiser > Réinitialiser les paramètres réseau > Paramètres). Mettez à jour votre version iOS :
