Preguntas de prueba escritas flash

Preguntas de respuestas múltiples

¿Qué protocolo no implica el comando ping?
A: DNS
B: TCP
C: ARP
D: ICMP

B. Ping se basa en el protocolo ICMP y ARP y DNS se utilizan para resolver rutas.

Tres personas a, b y c participan en una competencia de materias. Cada sujeto recibe puntos por x, y y z en orden de primer, segundo y tercer lugar. Se sabe que a obtiene 22 puntos, b y c obtienen 9 puntos, y b es el primer lugar en matemáticas, déjame preguntarte ¿Qué resultados se pueden derivar?

Condiciones insuficientes

Dado que hay 768 nodos de árbol binario completo, ¿cuántos nodos hoja hay?

Número par (n1 = 1): n0= n/2
Número impar (n1 = 0): n0=(n+1)/2;

Preguntas de programación

suma de dos numeros

Idea: como sigue
Insertar descripción de la imagen aquí

 vector<int> twoSum(vector<int>& nums, int target) {
    
    
 	unordered_map<int, int> mp;
 	for(int j = 0; j < nums.size();j++){
    
    
 		auto it = mp.find(target - nums[j];
 		if( it != mp.end())
 			return {
    
    it->second, j};
 		mp[nums[j]] = j;
 	} 
 	return {
    
    };
 }

Pregunta sobre clasificación de pilas
:
Ordene la pila de modo que el elemento más pequeño esté en la parte superior de la pila. Como máximo, puede utilizar otra pila temporal para almacenar datos, pero no debe copiar elementos en otras estructuras de datos (como matrices).

https://blog.csdn.net/jiaomubai/article/details/102319275
Solución:

Empuje la pila auxiliar secuencialmente desde la pila principal hasta que el elemento superior de la pila principal no sea más grande que el elemento superior de la pila auxiliar (mantenga los elementos de la pila auxiliar en orden descendente de arriba a abajo), saque el elemento de la pila
principal apilar primero, y luego continuar empujando los elementos de la pila auxiliar. Coloque la pila en la pila principal hasta que el elemento superior de la pila auxiliar sea más pequeño que este elemento, y luego continúe empujando
desde la pila principal a la pila auxiliar para realizar el ciclo.

//stack1为主栈,stack2为辅助栈
stack<int> sort(stack<int> stack1){
    
    
    stack<int> stack2;
    while (!stack1.empty()){
    
    
		int temp = stack1.top();
		stack1.pop();
		//如果辅助栈不为空且当前元素比辅助栈栈顶元素小,则将辅助栈中元素弹出压入主栈中
		while (!stack2.empty() && stack2.top() > temp){
    
    
		    stack1.push(stack2.top());
		    stack2.pop();
		}
		//如果辅助栈为空或者当前元素比辅助栈栈顶元素大,则将当前元素直接压入辅助栈中
		stack2.push(temp);
    }
    return stack2;
}

Supongo que te gusta

Origin blog.csdn.net/BinBinCome/article/details/133467723
Recomendado
Clasificación