Answer:
Check the explanation
Explanation:
solution a:
def Rotate(string) :
n = len(string)
temp = string + string
for i in range(n) :
for j in range(n) :
print(temp[i + j], end = "")
print()
string = ("abcde")
Rotate(string)
solution b:
nums = [3,9,5,8,2,4,7]
res = list(filter(lambda n : n < 5, nums))
print(res)
Trace the complete execution of the MergeSort algorithm when called on the array of integers, numbers, below. Show the resulting sub-arrays formed after each call to merge by enclosing them in { }. For example, if you originally had an array of 5 elements, a = {5,2,8,3,7}, the first call to merge would result with: {2, 5} 8, 3, 7 ← Note after the first call to merge, two arrays of size 1 have been merged into the sorted subarray {2,5} and the values 2 and 5 are sorted in array a You are to do this trace for the array, numbers, below. Be sure to show the resulting sub-arrays after each call to MergeSort. int[] numbers = {23, 14, 3, 56, 17, 8, 42, 18, 5};
Answer:
public class Main {
public static void merge(int[] arr, int l, int m, int r) {
int n1 = m - l + 1;
int n2 = r - m;
int[] L = new int[n1];
int[] R = new int[n2];
for (int i = 0; i < n1; ++i)
L[i] = arr[l + i];
for (int j = 0; j < n2; ++j)
R[j] = arr[m + 1 + j];
int i = 0, j = 0;
int k = l;
while (i < n1 && j < n2) {
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
} else {
arr[k] = R[j];
j++;
}
k++;
}
while (i < n1) {
arr[k] = L[i];
i++;
k++;
}
while (j < n2) {
arr[k] = R[j];
j++;
k++;
}
printArray(arr, l, r);
}
public static void sort(int[] arr, int l, int r) {
if (l < r) {
int m = (l + r) / 2;
sort(arr, l, m);
sort(arr, m + 1, r);
merge(arr, l, m, r);
}
}
static void printArray(int[] arr, int l, int r) {
System.out.print("{");
for (int i = l; i <= r; ++i)
System.out.print(arr[i] + " ");
System.out.println("}");
}
public static void main(String[] args) {
int[] arr = {23, 14, 3, 56, 17, 8, 42, 18, 5};
sort(arr, 0, arr.length - 1);
}
}
Explanation:
See answer
Double any element's value that is less than minValue. Ex: If minValue = 10, then dataPoints = {2, 12, 9, 20} becomes {4, 12, 18, 20}.
import java.util.Scanner;
public class StudentScores {
public static void main (String [] args) {
Scanner scnr = new Scanner(System.in);
final int NUM_Points = 4;
int[] dataPoints = new int[NUM_POINTS];
int minValue;
int i;
minValue = scnr.nextInt();
for (i = 0; i < dataPoints.length; ++i) {
dataPoints[i] = scnr.nextInt();
}
/* Your solution goes here */
for (i = 0; i < dataPoints.length; ++i) {
System.out.print(dataPoints[i] + " ");
}
System.out.println();
}
}
Answer:
Following are the code to this question:
for(i=0;i<dataPoints.length;++i) //define loop to count array element
{
if(dataPoints[i]<minValue) // define condition that checks array element is less then minValue
{
dataPoints[i] = dataPoints[i]*2; //double the value
}
}
Explanation:
Description of the code as follows:
In the given code, a for loop is declared, that uses a variable "i", which counts all array element, that is input by the user. Inside the loop and if block statement is used, that check array element value is less then "minValue", if this condition is true. So, inside the loop, we multiply the value by 2.Caches are important to providing a high-performance memory hierarchy to processors. Below is a list of 32-bits memory address references given as word addresses. 0x03, 0xb4, 0x2b, 0x02, 0xbf, 0x58, 0xbe, 0x0e, 0xb5, 0x2c, 0xba, 0xfd For each of these references identify the binary word address, the tag, and the index given a direct mapped cache with 16 one-word blocks. Also list whether each reference is a hit or a miss, assuming the cache is initially empty.
Answer:
See explaination
Explanation:
please kindly see attachment for the step by step solution of the given problem.