Skip to content

Instantly share code, notes, and snippets.

View sreeprasad's full-sized avatar

Sreeprasad sreeprasad

  • BlackRock
  • New York
View GitHub Profile
@sreeprasad
sreeprasad / PRD.md
Created February 26, 2026 16:16 — forked from bidah/PRD.md
PRD SKILL
name description
prd
Generate a Product Requirements Document (PRD) for a new feature. Use when planning a feature, starting a new project, or when asked to create a PRD. Triggers on: create a prd, write prd for, plan this feature, requirements for, spec out.

PRD Generator

Create detailed Product Requirements Documents that are clear, actionable, and suitable for autonomous AI implementation via the Ralph loop.


@sreeprasad
sreeprasad / luma_events.py
Last active February 17, 2025 07:09
eb1a luma calendar
import os
import datetime
import google.auth
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
SCOPES = ["https://www.googleapis.com/auth/calendar.readonly"]
CREDENTIALS_FILE = "credentials.json"
LUMA_CALENDAR_ID = "ulfan0ad3hr5e3r3qm0mgvmp2idmorq4@import.calendar.google.com"
public boolean[][] allSubstrings(String S) {
int N = S.length();
int count=0;
boolean [][] dp = new boolean [N][N];
for(int i=0;i<N;i++){
dp[i][i] = true;
count++;
if(i+1<N && S.charAt(i)==S.charAt(i+1)) {
dp[i][i+1] = true;
["StockPrice","update","maximum","current","minimum","maximum","maximum","maximum","minimum","minimum","maximum","update","maximum","minimum","update","maximum","minimum","current","maximum","update","minimum","maximum","update","maximum","maximum","current","update","current","minimum","update","update","minimum","minimum","update","current","update","maximum","update","minimum"]
[[],[38,2308],[],[],[],[],[],[],[],[],[],[47,7876],[],[],[58,1866],[],[],[],[],[43,121],[],[],[40,5339],[],[],[],[32,5339],[],[],[43,6414],[49,9369],[],[],[36,3192],[],[48,1006],[],[53,8013],[]]
output
[null,null,2308,2308,2308,2308,2308,2308,2308,2308,2308,null,7876,2308,null,7876,1866,1866,7876,null,121,7876,null,7876,7876,5339,null,5339,121,null,null,1866,1866,null,3192,null,9369,null,1006]
expected
[null,null,2308,2308,2308,2308,2308,2308,2308,2308,2308,null,7876,2308,null,7876,1866,1866,7876,null,121,7876,null,7876,7876,1866,null,1866,121,null,null,1866,1866,null,1866,null,9369,null,1006]
@sreeprasad
sreeprasad / gist:dad58c9cd0b03dae35e0a53307f857c9
Last active October 10, 2021 04:40
wrong_ans_prob_3.java
class StockPrice {
TreeMap<Integer,Integer> timeToPrice;
TreeMap<Integer,Integer> priceToTime;
int current;
public StockPrice() {
timeToPrice = new TreeMap<>();
priceToTime = new TreeMap<>();
current =0;
class Item {
long cost;
int ticketsUsed;
long discount;
public Item(long cost, int ticketsUsed, long discount) {
this.cost = cost;
this.ticketsUsed = ticketsUsed;
this.discount = discount;
}
}
public int minValue(int N) {
if(N==0) return 1;
if((N&N-1)==0) return 1;
int x = Integer.bitCount(N);
int count=0; // is the number of bit set in N
int t = N;
while(t>0){
t>>=1;
long countOfNumbers(long N, int[]primeArray) {
long sum=0;
int totalNumberOfSubsets = 1<<primeArray.length;
// loop to generate all subsets from prime array
for(int i=1;i<totalNumberOfSubsets;i++) {
long count=1;
private int findIndex(String S){
int N = S.length();
int ans = (1<<N)-2;
int pos=0,i=N-1;
while(i>=0) {
if(S.charAt(i)=='7') {
ans += (1<<pos);
}
i--;
pos++;
public void takeExam(int N) throws Exception {
TestData[] array = new TestData[N];
for(int i=0;i<N;i++) {
array[i] = new TestData(input.nextInt(), input.nextInt());
}
Arrays.sort(array, (x,y) -> {
return (x.actual!=y.actual) ? (x.actual-y.actual) : (x.allowed-y.allowed);