Skip to content

Instantly share code, notes, and snippets.

package org.geeks;
public class StockSpan {
public static void main(String[] args) {
int[] arr = {10, 4, 5, 90, 120, 80};
int[] span = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
int count = 0;
for (int j = i; j >= 0; j--) {
@vinodjayachandran
vinodjayachandran / Anagrams.java
Created February 8, 2025 03:21
Print Anagrams Together - Given an array of strings, return all groups of strings that are anagrams. The strings in each group must be arranged in the order of their appearance in the original array.
package org.geeks;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;
/*
For detailed elaboration of the problem with examples refer below link
https://www.geeksforgeeks.org/problems/print-anagrams-together/1
*/
public class Anagrams {
@vinodjayachandran
vinodjayachandran / MajorityElement.java
Created February 7, 2025 17:14
Majority Element - Given an array arr. Find the majority element in the array. If no majority exists, return -1. A majority element in an array is an element that appears strictly more than arr.size()/2 times in the array.
package org.geeks;
import java.util.HashMap;
/*
Problem statement with Sample examples can be referred from
https://www.geeksforgeeks.org/problems/majority-element-1587115620/1?page=1&company=Atlassian&sortBy=submissions
*/
@vinodjayachandran
vinodjayachandran / RateLimit.java
Created February 7, 2025 11:11
Rate Limiter (Moving Window)
package org.RateLimiter;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.HashMap;
import java.util.Map;
public class RateLimit {
Map<String, Deque> userRequestMap = new HashMap<>();
@vinodjayachandran
vinodjayachandran / open_exchange.py
Created April 12, 2024 06:27
Python Script to fetch Open exchange rates
import requests
import os
def fetchExchangeRate(currencyDate, baseCurrency, currencySymbol):
"""
Method to fetch open Currency exchange rate of base currency (1 Unit) to a currencySymbol
Reference : https://docs.openexchangerates.org/reference/api-introduction
Args:
currencyDate: Date for which you need open exchange rate.
baseCurrency: ISO currency code
@vinodjayachandran
vinodjayachandran / LanguageTranslator.py
Created April 4, 2024 06:19
Language translations using OpenAI
from openai import OpenAI
# Read OpenAI API Key from environment variable
api_key = os.environ.get("OPENAI_API_KEY")
client = OpenAI(api_key=api_key)
def translate_text(text):
model = "gpt-4-turbo-preview",
response = client.chat.completions.create(
model="gpt-3.5-turbo-0125",
@vinodjayachandran
vinodjayachandran / main.py
Last active April 3, 2024 11:33
From a folder containing Invoice/Receipt Images, extract Information using Open AI (gpt-4-vision-preview)
# File showing usage of openaiUtil.py
import openaiUtil
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
print(" Welcome")
print(openaiUtil.question_image(openaiUtil.generate_payload("image_folder_path")))
@vinodjayachandran
vinodjayachandran / LRUCache.java
Created October 26, 2023 11:57
Implementation of LRUCache using LinkedHashMap
import java.util.LinkedHashMap;
import java.util.Map;
public class LRUCache {
int capacity;
LinkedHashMap<String,String> cache;
public LRUCache(int capacity) {
@vinodjayachandran
vinodjayachandran / ElastiCache.ts
Last active April 12, 2023 03:27
Create AWS ElastiCache (Redis) Cluster with encryption in transit and AUTH token
const redisParameterGroup = new elasticache.CfnParameterGroup(this, 'redisParameterGroup', {
cacheParameterGroupFamily: 'redis7',
description: 'Redis Cluster Parameter Overrides',
properties: {
timeout: '120', // Close connection if client is idle for a given number of seconds
},
});
const redisPrimaryReplicationGroup = new elasticache.CfnReplicationGroup(this, 'redisPrimaryReplicationGroup', {
replicationGroupDescription: '{CLUSTER_DESCRIPTION}',
@vinodjayachandran
vinodjayachandran / JedisConnection.java
Created March 2, 2023 05:26
Connect to ElastiCache (Redis) with Encryption in Transit and Auth token enabled
package com.elasticache;
import lombok.extern.log4j.Log4j2;
import redis.clients.jedis.Jedis;
import javax.net.ssl.SSLParameters;
import javax.net.ssl.SSLSocketFactory;
import java.net.URI;
/**