feat: 2025-10-28打卡
This commit is contained in:
23
122.best-time-to-buy-and-sell-stock-ii.java
Normal file
23
122.best-time-to-buy-and-sell-stock-ii.java
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* @lc app=leetcode id=122 lang=java
|
||||
*
|
||||
* [122] Best Time to Buy and Sell Stock II
|
||||
*/
|
||||
|
||||
// @lc code=start
|
||||
class Solution {
|
||||
public int maxProfit(int[] prices) {
|
||||
if(prices == null || prices.length <= 1) {
|
||||
return 0;
|
||||
}
|
||||
int total = 0;
|
||||
for(int i = 1; i<prices.length; i++) {
|
||||
if(prices[i] - prices[i-1] > 0) {
|
||||
total += prices[i] - prices[i-1];
|
||||
}
|
||||
}
|
||||
return total;
|
||||
}
|
||||
}
|
||||
// @lc code=end
|
||||
|
||||
36
134.gas-station.java
Normal file
36
134.gas-station.java
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* @lc app=leetcode id=134 lang=java
|
||||
*
|
||||
* [134] Gas Station
|
||||
*/
|
||||
|
||||
// @lc code=start
|
||||
class Solution {
|
||||
/**
|
||||
* 本题核心为:若从i开始,计算到j时发现不行,那么从(i, j]范围内任一站点开始也不行,易进行论证
|
||||
*
|
||||
* @param gas
|
||||
* @param cost
|
||||
* @return
|
||||
*/
|
||||
public int canCompleteCircuit(int[] gas, int[] cost) {
|
||||
int start = 0, sum = 0, curIdx = 0;
|
||||
while(start < gas.length) {
|
||||
if(curIdx - start == gas.length) {
|
||||
return start;
|
||||
}
|
||||
int pos = curIdx % gas.length;
|
||||
if(sum + gas[pos] - cost[pos] < 0) {
|
||||
curIdx++;
|
||||
start = curIdx;
|
||||
sum = 0;
|
||||
} else {
|
||||
sum += gas[pos] - cost[pos];
|
||||
curIdx++;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
// @lc code=end
|
||||
|
||||
32
14.longest-common-prefix.java
Normal file
32
14.longest-common-prefix.java
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @lc app=leetcode id=14 lang=java
|
||||
*
|
||||
* [14] Longest Common Prefix
|
||||
*/
|
||||
|
||||
// @lc code=start
|
||||
class Solution {
|
||||
public String longestCommonPrefix(String[] strs) {
|
||||
if(strs == null || strs.length == 0) {
|
||||
return "";
|
||||
}
|
||||
String r = strs[0];
|
||||
for(int i=1; i<strs.length;i++) {
|
||||
r = longestCommonPrefix(r, strs[i]);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
private String longestCommonPrefix(String a, String b) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for(int i = 0; i<a.length() && i<b.length();i++) {
|
||||
if(a.charAt(i) != b.charAt(i)) {
|
||||
break;
|
||||
}
|
||||
sb.append(a.charAt(i));
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
// @lc code=end
|
||||
|
||||
23
55.jump-game.java
Normal file
23
55.jump-game.java
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* @lc app=leetcode id=55 lang=java
|
||||
*
|
||||
* [55] Jump Game
|
||||
*/
|
||||
|
||||
// @lc code=start
|
||||
class Solution {
|
||||
public boolean canJump(int[] nums) {
|
||||
int cur = 0;
|
||||
for(int i=0;i<nums.length;i++) {
|
||||
if(i > cur) {
|
||||
return false;
|
||||
}
|
||||
if(nums[i]>0) {
|
||||
cur = Math.max(cur, i+nums[i]);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// @lc code=end
|
||||
|
||||
Reference in New Issue
Block a user