Order Now  +1 678 648 4277 

Object-Oriented Programming Expert

Toronto Canada

Kenny J

Ph.D. artificial intelligence, University of Waterloo Canada


Programming homework helper


I am an experienced and highly trained programming assignment helper who has worked on multiple assignments. Am also an excellent communicator and good at problem-solving and decision-making. In my career, I have also gained extensive knowledge and understanding of object-oriented programming, game development, mobile app development, and graphics designing. Above all, I have a passion for helping people.

Skilled Abstraction Homework Helper

If you are looking for a skilled abstraction homework helper, you are at the right place. Abstraction is challenging, and many students end up getting low grades on it. However, I am here to change the narrative. I offer high-quality solutions in abstraction. I focus on high-quality and timely submission of assignments. Therefore, by hiring me, you will get your homework delivered before its deadline. Should you doubt the quality of work I offer, I am ready to share my previous tasks. This will give you a glimpse of the quality of work to expect from me. Do not get stressed over your abstraction assignment when you can get affordable solutions from me. Hire me today and enjoy unmatched solutions.

Experienced Polymorphism Instructor

Is your polymorphism assignment giving you a hard time? Are you wondering where you can get an experienced polymorphism instructor to help you get good grades? Over the years, I have worked with hundreds of students, most of them returning or recommending their friends to me. By working with me, you will enjoy reliability and effectiveness. I am here to sort your previous negative experience by ensuring that you get top solutions. Even if your assignment is urgent, I am here to ensure that it is completed on time. Additionally, you will never get plagiarized work from me. Reach out to me at any time of the day. I will be waiting to hear from you as soon as you have a task.

Professional Encapsulation Project Helper

Are you struggling with your challenging encapsulation project? Worry no more because I am here to help you. I am a professional encapsulation project helper. I know how demanding projects are, but I am ready to walk the journey with you. Note that for all revisions, I will do them without an extra charge. Whether it is an undergraduate or a post-graduate assignment, I am here to ensure that you get the help you are looking for. I have tremendous experience in writing projects, and therefore, you will get high-quality solutions from me at an affordable price. Therefore, if you are looking for an expert who will offer original, easy-to-understand, and timely solutions, hire me. I am available throughout the day, and therefore you can hire me at any time of the day.

The Best Inheritance Assignment Solver

Are you looking for an inheritance assignment solver? I am here to ensure that you get the help you require. Many students opt to outsource assignment help because it is challenging or busy with other schedules. If you are in either category, I am here to help you. My services are available globally, and therefore, your geographical location should not stop you from getting quality help. I cover both urgent and long-term assignments. Being an expert tutor, I will guarantee you top solutions at an affordable price. I look forward to hearing from you soon and have your inheritance assignment completed before the deadline.
Get Free Quote
0 Files Selected

Game simulations

import java.text.MessageFormat; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; public class KnightsTour { public static void main(String[] args) { // size of board int N = 8; // knight start position (x,y). x and y must be in range [0,N-1]. Position start = new Position(0,0); // knight finish position (x,y). x and y must be in range [0,N-1]. Position finish = new Position(1,2); // get search result from start to finish List result = search(N, start, finish); // if result is not empty -> output it if( result != null ) { System.out.println("Path is found:"); System.out.println(result.stream().map(Position::toString).collect(Collectors.joining(", "))); } // otherwise show message else { System.out.println("Path not found"); } } /** * Method for searching knight full-tour path from start to finish * @param n board size * @param start position to start from * @param finish position to finish on * @return List of consecutive positions in target path */ private static Listsearch(int n, Position start, Position finish) { // start and finish need to satisfy parity condition to make desired path available if ((n*n + start.x + start.y + finish.x + finish.y) % 2 == 0) return null; // create initial path, started from 'start' LinkedList path = new LinkedList<>(); path.add(start); // two dimensional array for storing visited position int[][] board = new int[n][n]; // mark started position as visited board[start.x][start.y] = 1; // starting dfs // if result is true, path is found, return position list if (dfs(n, finish, board, path)) return path; // otherwise, path is not found, return null return null; } /** * DFS-step method for searching full tour path * @param n board size * @param finish target board position * @param board array of flags, to mark visited positions * @param path partial list of positions in final result path * @return true, if path is found, false --- otherwise */ private static booleandfs(int n, Position finish, int[][] board, LinkedList path) { // iterating over all possible moves for (Position position : moves(path.getLast(), n)) { // if possible move leads to visited position, skip it if (board[position.x][position.y] == 1) { continue; } // if possible move leads to finish position, checking number of steps: if (position.equals(finish)) { // if it is last unvisited position, add it to path and return true; if (n*n - 1 == path.size()) { path.add(position); return true; } // otherwise --- skip it continue; } // mark new position as visited board[position.x][position.y] = 1; // add it to path path.add(position); // try to make next step boolean result = dfs(n, finish, board, path); // if this position subsequently leads to correct path, return true if (result) { return true; } // otherwise, unmark position as visited, remove it from path board[position.x][position.y] = 0; path.removeLast(); } // if no possible move leads to correct target path, return false return false; } /** * Return collection of possible moves * @param from a position to make move from * @param n board size * @return collection of possible moves */ private static Listmoves(Position from, int n) { List result = new ArrayList<>(); // for each possible knight move, check if it stays inside the board if (from.x>= 2 &&from.y>= 1) { result.add(new Position(from.x - 2, from.y - 1)); } if (from.x>= 1 &&from.y>= 2) { result.add(new Position(from.x - 1, from.y - 2)); } if (from.x>= 2 &&from.y< n-1) { result.add(new Position(from.x - 2, from.y + 1)); } if (from.x>= 1 &&from.y< n-2) { result.add(new Position(from.x - 1, from.y + 2)); } if (from.x< n-1 &&from.y>= 2) { result.add(new Position(from.x + 1, from.y - 2)); } if (from.x< n-2 &&from.y>= 1) { result.add(new Position(from.x + 2, from.y - 1)); } if (from.x< n-1 &&from.y< n-2) { result.add(new Position(from.x + 1, from.y + 2)); } if (from.x< n-2 &&from.y< n-1) { result.add(new Position(from.x + 2, from.y + 1)); } return result; } /** * Inner class, representing board position (cell) */ private static class Position { int x; int y; public Position(int x, int y) { this.x = x; this.y = y; } // Two positions are equal, if their x's and y's are equal respectively @Override public booleanequals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Position position = (Position) o; return x == position.x&& y == position.y; } @Override public int hashCode() { return Objects.hash(x, y); } // String representation of position @Override public String toString() { return MessageFormat.format("[{0},{1}]",x,y); } } }

CSV String Manipulation

def replace_csv_entry(line, n, new_val): """csv line manipulation""" data = line.split(',') data[n-1] = str(new_val) return ','.join(data) def sum_csv(fname): """Sum of integers in a csv file""" result = 0 try: with open(fname, 'r') as f: for line in f.readlines(): line = line.split(',') result += sum(int(number) for number in line) except FileNotFoundError as identifier: pass return result def shuffle(fname): """Swap first and last line of a file""" output_fname = 'shuffle_' + fname lines = [] with open(fname, 'r') as f: lines = [line.strip() for line in f.readlines()] # Swap first and endline lines[0], lines[-1] = lines[-1], lines[0] with open(output_fname, 'w') as f: for index, line in enumerate(lines): endline = '\n' # Last line won't have a return line. if index == len(lines)-1: endline = '' f.write(line+endline) if __name__ == "__main__": # Sample execution assert replace_csv_entry('45,2,52,2,10,4', 4, 75) == '45,2,52,75,10,4' assert replace_csv_entry('98,87,54,43,21,32,54', 1, 6) == '6,87,54,43,21,32,54' assert replace_csv_entry('50,60', 2, 100) == '50,100' print('fakefile.csv sum %s' % sum_csv('fakefile.csv')) print('test4.csv sum %s' % sum_csv('test4.csv')) shuffle('pokemon.txt')