class Solution{
public:
bool solvable(vector<int>& v,int diff,int K){
int n=v.size();
int prev=0;
int removed=0;
for(int i=1;i<n&&removed<K;i++){
if(i==n-1 || v[i+1]-v[prev]>diff){
if(v[i]-v[prev]>diff)return false;
prev=i;
}
else removed++;
}
return (removed==K);
}
int minDiff(vector<int> v,int K){
int hi=v.back()-v[0];
int lo=0;
for(int i=0;i+1<v.size();i++)lo=max(lo,v[i+1]-v[i]);
while(lo<hi){
int mid=(lo+hi)/2;
if(solvable(v,mid,K))hi=mid;
else lo=mid+1;
}
return lo;
}
};
Adjacent cubes โ
public:
bool solvable(vector<int>& v,int diff,int K){
int n=v.size();
int prev=0;
int removed=0;
for(int i=1;i<n&&removed<K;i++){
if(i==n-1 || v[i+1]-v[prev]>diff){
if(v[i]-v[prev]>diff)return false;
prev=i;
}
else removed++;
}
return (removed==K);
}
int minDiff(vector<int> v,int K){
int hi=v.back()-v[0];
int lo=0;
for(int i=0;i+1<v.size();i++)lo=max(lo,v[i+1]-v[i]);
while(lo<hi){
int mid=(lo+hi)/2;
if(solvable(v,mid,K))hi=mid;
else lo=mid+1;
}
return lo;
}
};
Adjacent cubes โ
MOD = 1000000007
def a(x):
if x <= 1:
return False
for i in range(2, int(x**0.5) + 1):
if x % i == 0:
return False
return True
def b(x):
c = []
for i in range(1, x+1):
if a(i):
c.append(i)
return c
def c(d, e, f):
g = [2, 3, 5, 7]
h = [0, 1, 4, 6, 8, 9]
i = b(d)
j = [[0] * e for _ in range(d+1)]
j[0][0] = 1
for k in range(1, d+1):
if k in i:
l = g
else:
l = h
for m in range(e):
for n in l:
if k == 1 and n == 0:
continue
o = (m * 10 + n) % e
j[k][o] = (j[k][o] + j[k-1][m]) % MOD
return j[d][f
[f] special Numbersโ
Arrange Map Code
from collections import deque
import itertools
def get_shortest_path(grid, N):
start = None
end = None
for i in range(N):
for j in range(N):
if grid[i][j] == 'S':
start = (i, j)
elif grid[i][j] == 'D':
end = (i, j)
queue = deque([(start, 0)])
visited = {start}
while queue:
(x, y), dist = queue.popleft()
if grid[x][y] == 'D':
return dist
for nx, ny in [(x+1, y), (x-1, y), (x, y+1), (x, y-1)]:
if 0 <= nx < N and 0 <= ny < N and (nx, ny) not in visited and grid[nx][ny] != 'T':
visited.add((nx, ny))
queue.append(((nx, ny), dist + 1))
return float('inf')
def get_sheets(grid, N, M):
sheets = []
for i in range(0, N, M):
for j in range(0, N, M):
sheet = []
for x in range(M):
row = []
for y in range(M):
row.append(grid[i+x][j+y])
sheet.append(row)
sheets.append(sheet)
return sheets
def make_grid(arrangement, sheets, N, M):
grid = [["" for _ in range(N)] for _ in range(N)]
num_sheets = N // M
for idx, sheet_idx in enumerate(arrangement):
sheet = sheets[sheet_idx]
base_i = (idx // num_sheets) * M
base_j = (idx % num_sheets) * M
for i in range(M):
for j in range(M):
grid[base_i + i][base_j + j] = sheet[i][j]
return grid
def solve():
N, M = map(int, input().split())
original_grid = []
for _ in range(N):
original_grid.append(list(input().strip()))
sheets = get_sheets(original_grid, N, M)
num_sheets = (N // M) ** 2
s_sheet = d_sheet = None
for i, sheet in enumerate(sheets):
for row in sheet:
if 'S' in row:
s_sheet = i
if 'D' in row:
d_sheet = i
min_dist = float('inf')
nums = list(range(num_sheets))
nums.remove(s_sheet)
nums.remove(d_sheet)
for middle_perm in itertools.permutations(nums):
arrangement = [s_sheet] + list(middle_perm) + [d_sheet]
grid = make_grid(arrangement, sheets, N, M)
min_dist = min(min_dist, get_shortest_path(grid, N))
return min_dist
if name == "main":
print(solve())
Arrange Map Code โ โ โ
Full Passed , Remove Plagrism Guys
from collections import deque
import itertools
def get_shortest_path(grid, N):
start = None
end = None
for i in range(N):
for j in range(N):
if grid[i][j] == 'S':
start = (i, j)
elif grid[i][j] == 'D':
end = (i, j)
queue = deque([(start, 0)])
visited = {start}
while queue:
(x, y), dist = queue.popleft()
if grid[x][y] == 'D':
return dist
for nx, ny in [(x+1, y), (x-1, y), (x, y+1), (x, y-1)]:
if 0 <= nx < N and 0 <= ny < N and (nx, ny) not in visited and grid[nx][ny] != 'T':
visited.add((nx, ny))
queue.append(((nx, ny), dist + 1))
return float('inf')
def get_sheets(grid, N, M):
sheets = []
for i in range(0, N, M):
for j in range(0, N, M):
sheet = []
for x in range(M):
row = []
for y in range(M):
row.append(grid[i+x][j+y])
sheet.append(row)
sheets.append(sheet)
return sheets
def make_grid(arrangement, sheets, N, M):
grid = [["" for _ in range(N)] for _ in range(N)]
num_sheets = N // M
for idx, sheet_idx in enumerate(arrangement):
sheet = sheets[sheet_idx]
base_i = (idx // num_sheets) * M
base_j = (idx % num_sheets) * M
for i in range(M):
for j in range(M):
grid[base_i + i][base_j + j] = sheet[i][j]
return grid
def solve():
N, M = map(int, input().split())
original_grid = []
for _ in range(N):
original_grid.append(list(input().strip()))
sheets = get_sheets(original_grid, N, M)
num_sheets = (N // M) ** 2
s_sheet = d_sheet = None
for i, sheet in enumerate(sheets):
for row in sheet:
if 'S' in row:
s_sheet = i
if 'D' in row:
d_sheet = i
min_dist = float('inf')
nums = list(range(num_sheets))
nums.remove(s_sheet)
nums.remove(d_sheet)
for middle_perm in itertools.permutations(nums):
arrangement = [s_sheet] + list(middle_perm) + [d_sheet]
grid = make_grid(arrangement, sheets, N, M)
min_dist = min(min_dist, get_shortest_path(grid, N))
return min_dist
if name == "main":
print(solve())
Arrange Map Code โ โ โ
Full Passed , Remove Plagrism Guys
Form Alternating String code in Java8
All test cases passed ๐ฅ
All test cases passed ๐ฅ
Shanon Circuits code in java 8 โ
def first_meat_orders(num_of_orders, orders, size):
result = []
for i in range(0, num_of_orders-size+1):
screen_orders = orders[i:i+size]
meat_order_found = False
for order in screen_orders:
if order < 0: # Checking for meat-based pizza order
result.append(order)
meat_order_found = True
break
if not meat_order_found:
result.append(0)
meat_order_found = False
return result
result = []
for i in range(0, num_of_orders-size+1):
screen_orders = orders[i:i+size]
meat_order_found = False
for order in screen_orders:
if order < 0: # Checking for meat-based pizza order
result.append(order)
meat_order_found = True
break
if not meat_order_found:
result.append(0)
meat_order_found = False
return result
Forwarded from OffCampus Jobs | OnCampus Jobs | Daily Jobs Updates | Lastest Jobs | All Jobs | CSE Jobs | Fresher Jobs โฅ (Dushyant)
Hiring C programmer (Remote)
Micro Hiring!
For 2024 grads
Preferred Qualification: M.Tech
https://jobs.micro1.ai/post/4c49729f-c07c-4e05-bded-90c4e7199543
Micro Hiring!
For 2024 grads
Preferred Qualification: M.Tech
https://jobs.micro1.ai/post/4c49729f-c07c-4e05-bded-90c4e7199543
micro1 Job Portal
C Programmer | Apply on Job
Required Skills: Cplex technology, C Programming, C
Forwarded from OffCampus Jobs | OnCampus Jobs | Daily Jobs Updates | Lastest Jobs | All Jobs | CSE Jobs | Fresher Jobs โฅ (Dushyant)
Company Name : IBM
Batch : 2023/2022/2021 passouts
Role : Software Engineer 1
Link : https://careers.ibm.com/job/21327981/software-engineer-1-bangalore-in/
Batch : 2023/2022/2021 passouts
Role : Software Engineer 1
Link : https://careers.ibm.com/job/21327981/software-engineer-1-bangalore-in/
Forwarded from OffCampus Jobs | OnCampus Jobs | Daily Jobs Updates | Lastest Jobs | All Jobs | CSE Jobs | Fresher Jobs โฅ (Dushyant)
๐Opening in AI/ML Domain
Devrev(AI): https://boards.greenhouse.io/devrev/jobs/5248554004
Decan(ML): https://app.dover.com/apply/Deccan%20AI/e67320d5-5160-4f8c-abc5-3c6251bf103d?rs=42706078
Devrev(AI): https://boards.greenhouse.io/devrev/jobs/5248554004
Decan(ML): https://app.dover.com/apply/Deccan%20AI/e67320d5-5160-4f8c-abc5-3c6251bf103d?rs=42706078
job-boards.greenhouse.io
DevRev
<blockquote>
<p>Please apply only to the role and location that best fits you. Only your <strong><em>first application</em></strong> will be considered.</p>
</blockquote>
<p>Please apply only to the role and location that best fits you. Only your <strong><em>first application</em></strong> will be considered.</p>
</blockquote>
DESERT QUEEN CODE
C++
#include <bits/stdc++.h>
using namespace std;
int dir[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
bool isValid(int x, int y, int n, const vector<vector<char>>& grid)
{
return x >= 0 && x < n && y >= 0 && y < n && grid[x][y] != 'M';
}
int fMW(int n, const vector<vector<char>>& grid, pair<int, int> start, pair<int, int> end)
{
vector<vector<int>> EXAMASSISTANCE(n, vector<int>(n, INT_MAX));
queue<pair<int, int>> q;
q.push(start);
EXAMASSISTANCE[start.first][start.second] = 0;
while (!q.empty())
{
auto [x, y] = q.front();
q.pop();
for (int d = 0; d < 4; d++)
{
int nx = x + dir[d][0];
int ny = y + dir[d][1];
if (isValid(nx, ny, n, grid))
{
int cost = (grid[x][y] == 'T' && grid[nx][ny] == 'T') ? 0 : 1;
if (EXAMASSISTANCE[x][y] + cost < EXAMASSISTANCE[nx][ny])
{
EXAMASSISTANCE[nx][ny] = EXAMASSISTANCE[x][y] + cost;
q.push({nx, ny});
}
}
}
}
return EXAMASSISTANCE[end.first][end.second];
}
int main()
{
int n;
cin >> n;
vector<vector<char>> grid(n, vector<char>(n));
pair<int, int> start, end;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin >> grid[i][j];
if (grid[i][j] == 'S') start = {i, j};
if (grid[i][j] == 'E') end = {i, j};
}
}
int result = fMW(n, grid, start, end);
cout << result << endl;
return 0;
}
DESERT QUEEN
C++
โ๏ธ โ๏ธ โ๏ธ โ๏ธ
C++
#include <bits/stdc++.h>
using namespace std;
int dir[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
bool isValid(int x, int y, int n, const vector<vector<char>>& grid)
{
return x >= 0 && x < n && y >= 0 && y < n && grid[x][y] != 'M';
}
int fMW(int n, const vector<vector<char>>& grid, pair<int, int> start, pair<int, int> end)
{
vector<vector<int>> EXAMASSISTANCE(n, vector<int>(n, INT_MAX));
queue<pair<int, int>> q;
q.push(start);
EXAMASSISTANCE[start.first][start.second] = 0;
while (!q.empty())
{
auto [x, y] = q.front();
q.pop();
for (int d = 0; d < 4; d++)
{
int nx = x + dir[d][0];
int ny = y + dir[d][1];
if (isValid(nx, ny, n, grid))
{
int cost = (grid[x][y] == 'T' && grid[nx][ny] == 'T') ? 0 : 1;
if (EXAMASSISTANCE[x][y] + cost < EXAMASSISTANCE[nx][ny])
{
EXAMASSISTANCE[nx][ny] = EXAMASSISTANCE[x][y] + cost;
q.push({nx, ny});
}
}
}
}
return EXAMASSISTANCE[end.first][end.second];
}
int main()
{
int n;
cin >> n;
vector<vector<char>> grid(n, vector<char>(n));
pair<int, int> start, end;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin >> grid[i][j];
if (grid[i][j] == 'S') start = {i, j};
if (grid[i][j] == 'E') end = {i, j};
}
}
int result = fMW(n, grid, start, end);
cout << result << endl;
return 0;
}
DESERT QUEEN
C++
โ๏ธ โ๏ธ โ๏ธ โ๏ธ
LOOP MASTER
JAVA
import java.util.*;
public class loopMaster {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
List<String> EXAMASSISTANCE = new ArrayList<>();
for (int i = 0; i < n; i++) {
EXAMASSISTANCE.add(sc.nextLine().trim());
}
processCommands(EXAMASSISTANCE);
}
private static void processCommands(List<String> EXAMASSISTANCE) {
Stack<Integer> loopCounts = new Stack<>();
Stack<Integer> currIter = new Stack<>();
StringBuilder output = new StringBuilder();
int index = 0;
while (index < EXAMASSISTANCE.size()) {
String command = EXAMASSISTANCE.get(index);
if (command.startsWith("for")) {
int times = Integer.parseInt(command.split(" ")[1]);
loopCounts.push(times);
currIter.push(0);
} else if (command.equals("do")) {
} else if (command.equals("done")) {
int current = currIter.pop() + 1;
int max = loopCounts.pop();
if (current < max) {
loopCounts.push(max);
currIter.push(current);
index = findLoopStart(EXAMASSISTANCE, index);
continue;
}
} else if (command.startsWith("break")) {
int breakAt = Integer.parseInt(command.split(" ")[1]);
if (currIter.peek() + 1 == breakAt) {
loopCounts.pop();
currIter.pop();
index = findLoopEnd(EXAMASSISTANCE, index);
}
} else if (command.startsWith("continue")) {
int continueAt = Integer.parseInt(command.split(" ")[1]);
if (currIter.peek() + 1 == continueAt) {
int max = loopCounts.peek();
int current = currIter.pop() + 1;
if (current < max) {
currIter.push(current);
index = findLoopStart(EXAMASSISTANCE, index);
}
continue;
}
} else if (command.startsWith("print")) {
String message = command.substring(command.indexOf("\"") + 1, command.lastIndexOf("\""));
output.append(message).append("\n");
}
index++;
}
System.out.print(output.toString());
}
private static int findLoopStart(List<String> EXAMASSISTANCE, int ci) {
int nestedLoops = 0;
for (int i = ci - 1; i >= 0; i--) {
if (EXAMASSISTANCE.get(i).equals("done")) {
nestedLoops++;
} else if (EXAMASSISTANCE.get(i).equals("do")) {
if (nestedLoops == 0) {
return i;
}
nestedLoops--;
}
}
return 0;
}
private static int findLoopEnd(List<String> EXAMASSISTANCE, int ci) {
int nestedLoops = 0;
for (int i = ci + 1; i < EXAMASSISTANCE.size(); i++) {
if (EXAMASSISTANCE.get(i).equals("do")) {
nestedLoops++;
} else if (EXAMASSISTANCE.get(i).equals("done")) {
if (nestedLoops == 0) {
return i;
}
nestedLoops--;
}
}
return EXAMASSISTANCE.size();
}
}
LOOP MASTER CODE
JAVA
โ๏ธ โ๏ธ โ๏ธ โ๏ธ
JAVA
import java.util.*;
public class loopMaster {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
List<String> EXAMASSISTANCE = new ArrayList<>();
for (int i = 0; i < n; i++) {
EXAMASSISTANCE.add(sc.nextLine().trim());
}
processCommands(EXAMASSISTANCE);
}
private static void processCommands(List<String> EXAMASSISTANCE) {
Stack<Integer> loopCounts = new Stack<>();
Stack<Integer> currIter = new Stack<>();
StringBuilder output = new StringBuilder();
int index = 0;
while (index < EXAMASSISTANCE.size()) {
String command = EXAMASSISTANCE.get(index);
if (command.startsWith("for")) {
int times = Integer.parseInt(command.split(" ")[1]);
loopCounts.push(times);
currIter.push(0);
} else if (command.equals("do")) {
} else if (command.equals("done")) {
int current = currIter.pop() + 1;
int max = loopCounts.pop();
if (current < max) {
loopCounts.push(max);
currIter.push(current);
index = findLoopStart(EXAMASSISTANCE, index);
continue;
}
} else if (command.startsWith("break")) {
int breakAt = Integer.parseInt(command.split(" ")[1]);
if (currIter.peek() + 1 == breakAt) {
loopCounts.pop();
currIter.pop();
index = findLoopEnd(EXAMASSISTANCE, index);
}
} else if (command.startsWith("continue")) {
int continueAt = Integer.parseInt(command.split(" ")[1]);
if (currIter.peek() + 1 == continueAt) {
int max = loopCounts.peek();
int current = currIter.pop() + 1;
if (current < max) {
currIter.push(current);
index = findLoopStart(EXAMASSISTANCE, index);
}
continue;
}
} else if (command.startsWith("print")) {
String message = command.substring(command.indexOf("\"") + 1, command.lastIndexOf("\""));
output.append(message).append("\n");
}
index++;
}
System.out.print(output.toString());
}
private static int findLoopStart(List<String> EXAMASSISTANCE, int ci) {
int nestedLoops = 0;
for (int i = ci - 1; i >= 0; i--) {
if (EXAMASSISTANCE.get(i).equals("done")) {
nestedLoops++;
} else if (EXAMASSISTANCE.get(i).equals("do")) {
if (nestedLoops == 0) {
return i;
}
nestedLoops--;
}
}
return 0;
}
private static int findLoopEnd(List<String> EXAMASSISTANCE, int ci) {
int nestedLoops = 0;
for (int i = ci + 1; i < EXAMASSISTANCE.size(); i++) {
if (EXAMASSISTANCE.get(i).equals("do")) {
nestedLoops++;
} else if (EXAMASSISTANCE.get(i).equals("done")) {
if (nestedLoops == 0) {
return i;
}
nestedLoops--;
}
}
return EXAMASSISTANCE.size();
}
}
LOOP MASTER CODE
JAVA
โ๏ธ โ๏ธ โ๏ธ โ๏ธ
TOGGLE CHALLENGE CODE
JAVA
import java.util.*;
public class Toggle{
public static List<Integer> getPossibleDigits(Map<Integer, String> validDigits, String faultyDigit) {
List<Integer> potentialDigits = new ArrayList<>();
for (Map.Entry<Integer, String> entry : validDigits.entrySet()) {
int mismatches = 0;
String pattern = entry.getValue();
for (int i = 0; i < faultyDigit.length(); i++) {
if (faultyDigit.charAt(i) != pattern.charAt(i)) {
mismatches++;
}
}
if (mismatches <= 1) {
potentialDigits.add(entry.getKey());
}
}
return potentialDigits;
}
public static void solve() {
Scanner scanner = new Scanner(System.in);
List<String> segmentDisplay = new ArrayList<>();
for (int i = 0; i < 3; i++) {
segmentDisplay.add(scanner.nextLine().strip());
}
List<String> EXAMASSISTANCE = new ArrayList<>();
for (int i = 0; i < 3; i++) {
EXAMASSISTANCE.add(scanner.nextLine().strip());
}
Map<Integer, String> digitPatterns = new HashMap<>();
for (int digit = 0; digit < 10; digit++) {
StringBuilder pattern = new StringBuilder();
for (int row = 0; row < 3; row++) {
pattern.append(segmentDisplay.get(row).substring(digit * 3, (digit + 1) * 3));
}
digitPatterns.put(digit, pattern.toString());
}
List<List<Integer>> possibleNumbers = new ArrayList<>();
for (int i = 0; i < EXAMASSISTANCE.get(0).length() / 3; i++) {
StringBuilder faultyDigit = new StringBuilder();
for (int row = 0; row < 3; row++) {
faultyDigit.append(EXAMASSISTANCE.get(row).substring(i * 3, (i + 1) * 3));
}
List<Integer> matchingDigits = getPossibleDigits(digitPatterns, faultyDigit.toString());
if (matchingDigits.isEmpty()) {
System.out.print("Invalid");
return;
}
possibleNumbers.add(matchingDigits);
}
int totalSum = 0;
for (List<Integer> combination : getCombinations(possibleNumbers)) {
StringBuilder number = new StringBuilder();
for (int digit : combination) {
number.append(digit);
}
totalSum += Integer.parseInt(number.toString());
}
System.out.print(totalSum);
}
public static List<List<Integer>> getCombinations(List<List<Integer>> possibleNumbers) {
List<List<Integer>> result = new ArrayList<>();
getCombinationsHelper(possibleNumbers, 0, new ArrayList<>(), result);
return result;
}
private static void getCombinationsHelper(List<List<Integer>> possibleNumbers, int index, List<Integer> currentCombination, List<List<Integer>> result) {
if (index == possibleNumbers.size()) {
result.add(new ArrayList<>(currentCombination));
return;
}
for (int digit : possibleNumbers.get(index)) {
currentCombination.add(digit);
getCombinationsHelper(possibleNumbers, index + 1, currentCombination, result);
currentCombination.remove(currentCombination.size() - 1);
}
}
public static void main(String[] args) {
solve();
}
}
TOGGLE CHALLENGE CODE IN
JAVA
โ๏ธ โ๏ธ โ๏ธ โ๏ธ
JAVA
import java.util.*;
public class Toggle{
public static List<Integer> getPossibleDigits(Map<Integer, String> validDigits, String faultyDigit) {
List<Integer> potentialDigits = new ArrayList<>();
for (Map.Entry<Integer, String> entry : validDigits.entrySet()) {
int mismatches = 0;
String pattern = entry.getValue();
for (int i = 0; i < faultyDigit.length(); i++) {
if (faultyDigit.charAt(i) != pattern.charAt(i)) {
mismatches++;
}
}
if (mismatches <= 1) {
potentialDigits.add(entry.getKey());
}
}
return potentialDigits;
}
public static void solve() {
Scanner scanner = new Scanner(System.in);
List<String> segmentDisplay = new ArrayList<>();
for (int i = 0; i < 3; i++) {
segmentDisplay.add(scanner.nextLine().strip());
}
List<String> EXAMASSISTANCE = new ArrayList<>();
for (int i = 0; i < 3; i++) {
EXAMASSISTANCE.add(scanner.nextLine().strip());
}
Map<Integer, String> digitPatterns = new HashMap<>();
for (int digit = 0; digit < 10; digit++) {
StringBuilder pattern = new StringBuilder();
for (int row = 0; row < 3; row++) {
pattern.append(segmentDisplay.get(row).substring(digit * 3, (digit + 1) * 3));
}
digitPatterns.put(digit, pattern.toString());
}
List<List<Integer>> possibleNumbers = new ArrayList<>();
for (int i = 0; i < EXAMASSISTANCE.get(0).length() / 3; i++) {
StringBuilder faultyDigit = new StringBuilder();
for (int row = 0; row < 3; row++) {
faultyDigit.append(EXAMASSISTANCE.get(row).substring(i * 3, (i + 1) * 3));
}
List<Integer> matchingDigits = getPossibleDigits(digitPatterns, faultyDigit.toString());
if (matchingDigits.isEmpty()) {
System.out.print("Invalid");
return;
}
possibleNumbers.add(matchingDigits);
}
int totalSum = 0;
for (List<Integer> combination : getCombinations(possibleNumbers)) {
StringBuilder number = new StringBuilder();
for (int digit : combination) {
number.append(digit);
}
totalSum += Integer.parseInt(number.toString());
}
System.out.print(totalSum);
}
public static List<List<Integer>> getCombinations(List<List<Integer>> possibleNumbers) {
List<List<Integer>> result = new ArrayList<>();
getCombinationsHelper(possibleNumbers, 0, new ArrayList<>(), result);
return result;
}
private static void getCombinationsHelper(List<List<Integer>> possibleNumbers, int index, List<Integer> currentCombination, List<List<Integer>> result) {
if (index == possibleNumbers.size()) {
result.add(new ArrayList<>(currentCombination));
return;
}
for (int digit : possibleNumbers.get(index)) {
currentCombination.add(digit);
getCombinationsHelper(possibleNumbers, index + 1, currentCombination, result);
currentCombination.remove(currentCombination.size() - 1);
}
}
public static void main(String[] args) {
solve();
}
}
TOGGLE CHALLENGE CODE IN
JAVA
โ๏ธ โ๏ธ โ๏ธ โ๏ธ