1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
AVprozaik [17]
3 years ago
6

You've created a new programming language, and now you've decided to add hashmap support to it. Actually you are quite disappoin

ted that in common programming languages it's impossible to add a number to all hashmap keys, or all its values. So you've decided to take matters into your own hands and implement your own hashmap in your new language that has the following operations:
insert x y - insert an object with key x and value y.
get x - return the value of an object with key x.
addToKey x - add x to all keys in map.
addToValue y - add y to all values in map.
To test out your new hashmap, you have a list of queries in the form of two arrays: queryTypes contains the names of the methods to be called (eg: insert, get, etc), and queries contains the arguments for those methods (the x and y values).
Your task is to implement this hashmap, apply the given queries, and to find the sum of all the results for get operations.
Example
For queryType = ["insert", "insert", "addToValue", "addToKey", "get"] and query = [[1, 2], [2, 3], [2], [1], [3]], the output should be hashMap(queryType, query) = 5.
The hashmap looks like this after each query:
1 query: {1: 2}
2 query: {1: 2, 2: 3}
3 query: {1: 4, 2: 5}
4 query: {2: 4, 3: 5}
5 query: answer is 5
The result of the last get query for 3 is 5 in the resulting hashmap.
For queryType = ["insert", "addToValue", "get", "insert", "addToKey", "addToValue", "get"] and query = [[1, 2], [2], [1], [2, 3], [1], [-1], [3]], the output should be hashMap(queryType, query) = 6.
The hashmap looks like this after each query:
1 query: {1: 2}
2 query: {1: 4}
3 query: answer is 4
4 query: {1: 4, 2: 3}
5 query: {2: 4, 3: 3}
6 query: {2: 3, 3: 2}
7 query: answer is 2
The sum of the results for all the get queries is equal to 4 + 2 = 6.
Input/Output
[execution time limit] 4 seconds (py3)
[input] array.string queryType
Array of query types. It is guaranteed that each queryType[i] is either "addToKey", "addToValue", "get", or "insert".
Guaranteed constraints:
1 ≤ queryType.length ≤ 105.
[input] array.array.integer query
Array of queries, where each query is represented either by two numbers for insert query or by one number for other queries. It is guaranteed that during all queries all keys and values are in the range [-109, 109].
Guaranteed constraints:
query.length = queryType.length,
1 ≤ query[i].length ≤ 2.
[output] integer64
The sum of the results for all get queries.
[Python3] Syntax Tips
# Prints help message to the console
# Returns a string
def helloWorld(name):
print("This prints to the console when you Run Tests")
return "Hello, " + name
Computers and Technology
1 answer:
baherus [9]3 years ago
3 0

Answer:

Attached please find my solution in JAVA

Explanation:

long hashMap(String[] queryType, int[][] query) {

       long sum = 0;

       Integer currKey = 0;

       Integer currValue = 0;

       Map<Integer, Integer> values = new HashMap<>();

       for (int i = 0; i < queryType.length; i++) {

           String currQuery = queryType[i];

           switch (currQuery) {

           case "insert":

               HashMap<Integer, Integer> copiedValues = new HashMap<>();

               if (currKey != 0 || currValue != 0) {

                   Set<Integer> keys = values.keySet();

                   for (Integer key : keys) {

                       copiedValues.put(key + currKey, values.get(key) + currValue);

                   }

                   values.clear();

                   values.putAll(copiedValues);

                   currValue = 0;

                   currKey = 0;

               }

               values.put(query[i][0], query[i][1]);

               break;

           case "addToValue":

               currValue += values.isEmpty() ? 0 : query[i][0];

               break;

           case "addToKey":

               currKey += values.isEmpty() ? 0 : query[i][0];

               break;

           case "get":

               copiedValues = new HashMap<>();

               if (currKey != 0 || currValue != 0) {

                   Set<Integer> keys = values.keySet();

                   for (Integer key : keys) {

                       copiedValues.put(key + currKey, values.get(key) + currValue);

                   }

                   values.clear();

                   values.putAll(copiedValues);

                   currValue = 0;

                   currKey = 0;

               }

               sum += values.get(query[i][0]);

           }

       }

       return sum;

   }

You might be interested in
Write a program that checks whether a positive number given by an input from the user is greater than 5 and less than 20 with ja
Alona [7]

Answer:

Program written in Java is as follows

See comments for explanations

import java.util.Scanner;

public class CheckRange {

public static void main (String [] args)

{

// This line allows the program accept user input

Scanner input = new Scanner(System.in);

//This line declares variable for user input

int num;

//This line prompts user for input

System.out.print("Number: ");

//This line gets user input

num = input.nextInt();

/* The following if statement checks if the user input is greater than 5 and less than 20 */

if (num > 5 && num <= 20)

{

/* This line is executed if the above condition is true */

System.out.print(num+" is greater than 5 and less than 20");

}

else

{

/*If the condition is not true, this line is executed*/

System.out.print(num+" is not within specified range");

}

// The if condition ends here

}

}

5 0
4 years ago
Write a program that simulates picking a card from a deck of 52 cards. Your program should display the rank (Ace, 2, 3, 4, 5, 6,
Artyom0805 [142]

Answer:

Explanation:

The following is a python function that has arrays with all the cards available and then uses random to choose a random card from the dictionary. Finally it prints out the card chosen...

import random

def choose_card():

   card = ["Ace", 2, 3, 4, 5, 6, 7, 8, 9, 10, 'Jack', 'Queen', 'King']

   symbols = ['Clubs', 'Diamonds', 'Hearts', 'Spades']

   chosen_card = str(card[random.randint(0, len(card))])

   symbols = symbols[random.randint(0, len(symbols))]

   print("Chosen Card: " + chosen_card + " of " + symbols)

7 0
3 years ago
¿Qué herramienta web es google drive?
alisha [4.7K]

Answer:

Es una aplicación de Google que permite crear y compartir el trabajo en línea, esto es, trabajando en la red, por lo tanto, no se descarga en el ordenador, esto nos permite acceder al documento desde cualquier ordenador con conexión a Internet

Explanation:

Espero que te ayudo : )

3 0
3 years ago
Read 2 more answers
A SmartArt graphic consists of two parts: the SmartArt graphic itself and a(n) ____ pane.
Setler [38]

Answer:

A. Text

Explanation:

Smart art graphic is a tool used to turn your ideas into a pictorial form, it contains a graphic and a text pane.

3 0
4 years ago
Smaller applications, such as at home, typically use a powerful, expensive server to support their daily operations.
snow_tiger [21]
False.
Smaller applications such as at home, sometimes use a high-end desktop as a server. Larger corporate, government, and internet applications use powerful, expensive servers to support daily operations.
hope this helps!
3 0
2 years ago
Other questions:
  • A drivers touches a cars steering wheel on a hot day which term refers to the way heat is transferredd to the drivers hand
    6·2 answers
  • Why were mechanical calculators developed?
    8·2 answers
  • In a block-style business letter, the paragraphs are double-spaced and indented. <br> True or False
    15·2 answers
  • What occurs when you call a method on a reference variable that contains null? Select one: a. An ArrayIndexOutOfBoundsException
    11·1 answer
  • Do you think the current system of punishment in the United States works? Why? What would you change?
    13·1 answer
  • What is a word processor in ms word​
    9·2 answers
  • A friend of yours started her own dog walking business. At first she only had a couple customers, and she used Word to create al
    8·1 answer
  • What is emerging as a major business area of innovation that offers a flexible collection of computers on the internet that can
    6·1 answer
  • How to you compute for the total room sales​
    10·1 answer
  • you need to configure a wireless network using wpa2-enterprise. which of the following components should be part of your design?
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!