Skip to content

Instantly share code, notes, and snippets.

View qren0neu's full-sized avatar

Q.Ren qren0neu

  • Northeastern University
  • Toronto, ON
  • 20:21 (UTC -04:00)
View GitHub Profile
@qren0neu
qren0neu / Roman to Integer.java
Created April 15, 2025 15:34
13. Roman to Integer
class Solution {
private int getVal(char c) {
switch (c) {
case 'I':
return 1;
case 'V':
return 5;
case 'X':
return 10;
@qren0neu
qren0neu / LCP.java
Created April 15, 2025 15:09
14. Longest Common Prefix
class Solution {
public String longestCommonPrefix(String[] strs) {
StringBuilder prefix = new StringBuilder();
for (int i = 0; i < strs[0].length(); i++) {
prefix.append(strs[0].charAt(i));
for (int j = 1; j < strs.length; j++) {
if (i >= strs[j].length() || prefix.charAt(i) != strs[j].charAt(i)) {
prefix.deleteCharAt(i);
return prefix.toString();
}
@qren0neu
qren0neu / LengthOfLastWord.java
Created April 14, 2025 15:42
58. Length of Last Word
class Solution {
public int lengthOfLastWord(String s) {
s = s.trim(); // 1. trim
char[] arr = s.toCharArray();
int slow = 0;
int fast = 0;
while (fast < arr.length) {
slow = fast;
// skip the words
while (fast < arr.length && arr[fast] != ' ') {
class Solution {
public String reverseWords(String s) {
s = s.trim();
String[] spl = s.split(" ");
StringBuilder sb = new StringBuilder();
for (int i = spl.length - 1; i >= 0; i--) {
if (!spl[i].trim().isEmpty()) {
sb.append(spl[i]);
if (i != 0) {
sb.append(" ");
@qren0neu
qren0neu / Combination.java
Created April 8, 2025 15:19
77. combination
class Solution {
public List<List<Integer>> combine(int n, int k) {
// 1 - n, contains
List<List<Integer>> result = new LinkedList<>();
List<Integer> current = new LinkedList<>();
dfs(result, current, 1, n, k);
return result;
}
private void dfs(List<List<Integer>> result, List<Integer> current, int start, int n, int k) {
@qren0neu
qren0neu / 0P.java
Created April 7, 2025 05:32
lc 125
private char transform(char c) {
if (c >= 'A' && c <= 'Z') {
return (char)(c + 32);
} else if (c >= 'a' && c <= 'z' || c >= '0' && c <= '9') {
return c;
} else {
return '!';
}
}
@qren0neu
qren0neu / GasStation.java
Created April 7, 2025 04:54
134. Gas Station
class Solution {
public int canCompleteCircuit(int[] gas, int[] cost) {
// note: cost is from ith station to i+1 th station
// find the point that gas is at the lowest, start from there
int minGas = 0;
int startPoint = 0;
int currentGas = 0;
for (int i = 0; i < gas.length; i++) {
currentGas += (gas[i] - cost[i]);
if (currentGas < minGas) {
@qren0neu
qren0neu / RandomSet.java
Created April 5, 2025 16:21
380. Insert Delete GetRandom O(1)
class RandomizedSet {
private int pos = 0;
private Map<Integer, Integer> set = new HashMap<>();
private int[] vals = new int[200001];
public RandomizedSet() {
}
@qren0neu
qren0neu / hindex.java
Created April 5, 2025 04:26
274.hIndex
class Solution {
private void reverse(int[] arr) {
int start = 0;
int end = arr.length - 1;
while (start < end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
@qren0neu
qren0neu / dp.java
Last active April 5, 2025 03:50
45. jump game 2
class Solution {
public int jump(int[] nums) {
// min steps of position n
int[] dp = new int[nums.length];
dp[0] = 0;
for (int i = 0; i < nums.length; i++) {
int reachableDistance = nums[i];
for (int j = i + 1; j <= Math.min(nums.length - 1, i + reachableDistance); j++) {
if (dp[j] == 0) {
dp[j] = dp[i] + 1;