Our Feeds
Showing posts with label Programming Languages Theory. Show all posts
Showing posts with label Programming Languages Theory. Show all posts

Friday, 2 January 2026

Ajith KP

ZOHO Interview Question - Solution

 ZOHO Interview Question Solution in Java.

CODE

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            String input = br.readLine();
            List words = Arrays.asList(input.split(" "));
            Map positional = words.stream()
                    .map(word -> {
                        Pattern p = Pattern.compile("\\d+");
                        Matcher m = p.matcher(word);
                        Integer pos = null;

                        if (m.find()) {
                            pos = Integer.parseInt(m.group());
                        }
                        String text = word.replaceAll("\\d+", "");

                        return new AbstractMap.SimpleEntry<>(pos, text);
                    })
                    .collect(Collectors.toMap(
                            Map.Entry::getKey,
                            Map.Entry::getValue
                    ));

            String result = IntStream.range(0, words.size())
                    .mapToObj(positional::get)
                    .collect(Collectors.joining(" "));

            System.out.println(result);

        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

Friday, 10 January 2025

AJITH KP

Bubble Sort Tutorial - Algorithm and Code

AJITH KP

Searching Algorithms - Data Structures and Algorithms - Simplified

AJITH KP

Generate ER-Diagram Using pgAdmin 4

Saturday, 19 October 2024

AJITH KP

112. Path Sum - LeetCode Solution

 112. Path Sum - LeetCode Solution in C++.

 


 



/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    bool printPath(TreeNode* node, int sum, int targetSum) { 
        if(node == nullptr) return false;
        if(node->left == nullptr && node->right == nullptr) {
            if(sum + node->val == targetSum) {
                return true;
            }
        }
        bool l = printPath(node->left, sum + node->val, targetSum);
        bool r = printPath(node->right, sum + node->val, targetSum);
        return l||r;
    }
    bool hasPathSum(TreeNode* root, int targetSum) {
        if(root == nullptr) return false;
        return printPath(root, 0, targetSum);
    }
};

Sunday, 9 October 2022

t3rminalc0d3r

Radix Sort in C++

The implementation of Radix sort algorithm using buckets in C++.

The algorithm was MCA practical question for Advanced Algorithm Design paper.


#include <iostream>
#include <queue>
#include <cmath>
using namespace std;

/*
	Coded by AJITH K P
	(c) _TERMINAL_CODERS_ (c)
*/

int* radixSort(int *numbers, int size){
	int radix = 0;
	queue<int> bucket[10];
	bool flg = true;
	while(flg){
		flg = false;
		int divisor = pow(10, radix);
		for(int i=0;i<size;i++){
			int divideResult = numbers[i] / divisor;
			if(divideResult>0){
				flg  = true;
			}
			bucket[(divideResult)%10].push(numbers[i]);
		}
		int ind = 0;
		for(int i=0;i<10;i++){
			while(!bucket[i].empty()){
				numbers[ind++] = bucket[i].front();
				bucket[i].pop();
			}
			
		}
		radix++;
	}
	return numbers;
}
void display(int *numbers, int size){
	for(int i=0;i<size;i++){
		cout<<numbers[i]<<" ";
	}
}

int main(){
	int *numbers, size;
	cout<<"Enter size of array: ";
	cin>>size;
	cout<<"Enter "<<size<<" numbers: ";
	for(int i=0;i<size;i++){
		cin>>numbers[i];
	}
	numbers = radixSort(numbers, size);
	display(numbers, size);
	return 0;
}