feat: 1.3.0
1. 发布1.3.0ban'b
This commit is contained in:
parent
c16f8e977f
commit
5f18a0e0c9
@ -7,6 +7,7 @@ import org.springframework.context.ApplicationListener;
|
||||
import org.springframework.context.event.ContextClosedEvent;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -20,6 +21,73 @@ import java.util.List;
|
||||
@Slf4j
|
||||
public class EasyRetryEndListener implements ApplicationListener<ContextClosedEvent> {
|
||||
|
||||
static class Solution {
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(fullJustify(new String[]{"This", "is", "an", "example", "of", "text", "justification."}, 16));
|
||||
}
|
||||
public static List<String> fullJustify(String[] words, int maxWidth) {
|
||||
List<String> result = new ArrayList<>();
|
||||
|
||||
int n = words.length;
|
||||
int start = 0; // 当前行的起始单词索引
|
||||
|
||||
while (start < n) {
|
||||
int end = start; // 当前行的结束单词索引
|
||||
int lineLength = 0; // 当前行的字符总长度
|
||||
|
||||
// 找到当前行可以容纳的最多单词
|
||||
while (end < n && lineLength + words[end].length() + (end - start) <= maxWidth) {
|
||||
lineLength += words[end].length();
|
||||
end++;
|
||||
}
|
||||
|
||||
int numWords = end - start; // 当前行的单词数量
|
||||
int numSpaces = maxWidth - lineLength; // 当前行需要插入的空格总数
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
// 处理特殊情况:只有一个单词或是最后一行
|
||||
if (numWords == 1 || end == n) {
|
||||
for (int i = start; i < end; i++) {
|
||||
sb.append(words[i]);
|
||||
if (i < end - 1) {
|
||||
sb.append(" ");
|
||||
}
|
||||
}
|
||||
int remainingSpaces = maxWidth - sb.length();
|
||||
while (remainingSpaces > 0) {
|
||||
sb.append(" ");
|
||||
remainingSpaces--;
|
||||
}
|
||||
} else {
|
||||
int spacesPerWord = numSpaces / (numWords - 1); // 单词间的平均空格数
|
||||
int extraSpaces = numSpaces % (numWords - 1); // 需要额外添加的空格数
|
||||
|
||||
for (int i = start; i < end; i++) {
|
||||
sb.append(words[i]);
|
||||
|
||||
if (i < end - 1) {
|
||||
int spacesCount = spacesPerWord;
|
||||
if (extraSpaces > 0) {
|
||||
spacesCount++;
|
||||
extraSpaces--;
|
||||
}
|
||||
for (int j = 0; j < spacesCount; j++) {
|
||||
sb.append(" ");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
result.add(sb.toString());
|
||||
start = end;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private List<Lifecycle> lifecycleList;
|
||||
|
||||
|
@ -18,6 +18,7 @@
|
||||
<java.version>1.8</java.version>
|
||||
<maven.deploy.skip>true</maven.deploy.skip>
|
||||
<org.mapstruct.version>1.5.3.Final</org.mapstruct.version>
|
||||
<akka.version>2.6.20</akka.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@ -32,12 +33,12 @@
|
||||
<dependency>
|
||||
<groupId>com.typesafe.akka</groupId>
|
||||
<artifactId>akka-actor-typed_2.13</artifactId>
|
||||
<version>2.8.0</version>
|
||||
<version>${akka.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.typesafe.akka</groupId>
|
||||
<artifactId>akka-actor-testkit-typed_2.13</artifactId>
|
||||
<version>2.8.0</version>
|
||||
<version>${akka.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
@ -44,31 +44,6 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
public class DispatchService implements Lifecycle {
|
||||
|
||||
static class Solution {
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(canCompleteCircuit(new int[]{1,2,3,4,5}, new int[]{3,4,5,1,2}));
|
||||
}
|
||||
|
||||
public static int canCompleteCircuit(int[] gas, int[] cost) {
|
||||
|
||||
int len = gas.length; // 加油站数量
|
||||
int spare = 0; // 当前剩余汽油量
|
||||
int minSpare = Integer.MAX_VALUE; // 最小剩余汽油量
|
||||
int minIndex = 0; // 最小剩余汽油量对应的加油站索引
|
||||
|
||||
for (int i = 0; i < len; i++) {
|
||||
spare += gas[i] - cost[i]; // 计算当前加油站的剩余汽油量
|
||||
if (spare < minSpare) { // 如果当前剩余汽油量比最小剩余汽油量小
|
||||
minSpare = spare; // 更新最小剩余汽油量
|
||||
minIndex = i; // 更新最小剩余汽油量对应的加油站索引
|
||||
}
|
||||
}
|
||||
|
||||
return spare < 0 ? -1 : (minIndex + 1) % len; // 判断是否存在解,并返回结果
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 分配器线程
|
||||
*/
|
||||
|
@ -1 +0,0 @@
|
||||
.card[data-v-b868c866]{margin-bottom:24px}.popover-wrapper[data-v-b868c866] .antd-pro-pages-forms-style-errorPopover .ant-popover-inner-content{min-width:256px;max-height:290px;padding:0;overflow:auto}.antd-pro-pages-forms-style-errorIcon[data-v-b868c866]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:24px;color:#f5222d;cursor:pointer}.antd-pro-pages-forms-style-errorIcon i[data-v-b868c866]{margin-right:4px}.antd-pro-pages-forms-style-errorListItem[data-v-b868c866]{padding:8px 16px;list-style:none;border-bottom:1px solid #e8e8e8;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.antd-pro-pages-forms-style-errorListItem[data-v-b868c866]:hover{background:#e6f7ff}.antd-pro-pages-forms-style-errorListItem .antd-pro-pages-forms-style-errorIcon[data-v-b868c866]{float:left;margin-top:4px;margin-right:12px;padding-bottom:22px;color:#f5222d}.antd-pro-pages-forms-style-errorListItem .antd-pro-pages-forms-style-errorField[data-v-b868c866]{margin-top:2px;color:rgba(0,0,0,.45);font-size:12px}
|
@ -0,0 +1 @@
|
||||
.card[data-v-73b0ee39]{margin-bottom:24px}.popover-wrapper[data-v-73b0ee39] .antd-pro-pages-forms-style-errorPopover .ant-popover-inner-content{min-width:256px;max-height:290px;padding:0;overflow:auto}.antd-pro-pages-forms-style-errorIcon[data-v-73b0ee39]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:24px;color:#f5222d;cursor:pointer}.antd-pro-pages-forms-style-errorIcon i[data-v-73b0ee39]{margin-right:4px}.antd-pro-pages-forms-style-errorListItem[data-v-73b0ee39]{padding:8px 16px;list-style:none;border-bottom:1px solid #e8e8e8;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.antd-pro-pages-forms-style-errorListItem[data-v-73b0ee39]:hover{background:#e6f7ff}.antd-pro-pages-forms-style-errorListItem .antd-pro-pages-forms-style-errorIcon[data-v-73b0ee39]{float:left;margin-top:4px;margin-right:12px;padding-bottom:22px;color:#f5222d}.antd-pro-pages-forms-style-errorListItem .antd-pro-pages-forms-style-errorField[data-v-73b0ee39]{margin-top:2px;color:rgba(0,0,0,.45);font-size:12px}
|
@ -1 +1 @@
|
||||
<!DOCTYPE html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/logo.png"><title>Easy-Retry</title><style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style><link href="/css/chunk-65674ed1.5c85f85e.css" rel="prefetch"><link href="/css/chunk-77aaac2a.99cbbcce.css" rel="prefetch"><link href="/css/chunk-ff9025ec.cd4961ff.css" rel="prefetch"><link href="/css/user.6ccd4506.css" rel="prefetch"><link href="/js/chunk-2d0a4079.582b8922.js" rel="prefetch"><link href="/js/chunk-2d0b7230.0250aa05.js" rel="prefetch"><link href="/js/chunk-2d0c8f97.bbcf65ca.js" rel="prefetch"><link href="/js/chunk-2d0d43f4.6c6aef6f.js" rel="prefetch"><link href="/js/chunk-2d0f085f.4b62bd05.js" rel="prefetch"><link href="/js/chunk-2d21a08f.69b31f52.js" rel="prefetch"><link href="/js/chunk-2d228eef.302535cc.js" rel="prefetch"><link href="/js/chunk-40597980.b78e8bb2.js" rel="prefetch"><link href="/js/chunk-65674ed1.fbcffcee.js" rel="prefetch"><link href="/js/chunk-732da7b5.2e4fa720.js" rel="prefetch"><link href="/js/chunk-77aaac2a.6a2566a8.js" rel="prefetch"><link href="/js/chunk-ff9025ec.f07aa125.js" rel="prefetch"><link href="/js/fail.06e5da5b.js" rel="prefetch"><link href="/js/lang-zh-CN-account-settings.f8f25eaf.js" rel="prefetch"><link href="/js/lang-zh-CN-account.c724e71d.js" rel="prefetch"><link href="/js/lang-zh-CN-dashboard-analysis.d7cabd65.js" rel="prefetch"><link href="/js/lang-zh-CN-dashboard.5180154b.js" rel="prefetch"><link href="/js/lang-zh-CN-form-basicForm.ff3088ac.js" rel="prefetch"><link href="/js/lang-zh-CN-form.cc39e450.js" rel="prefetch"><link href="/js/lang-zh-CN-global.bf0df5c8.js" rel="prefetch"><link href="/js/lang-zh-CN-menu.25425a62.js" rel="prefetch"><link href="/js/lang-zh-CN-result-fail.232762aa.js" rel="prefetch"><link href="/js/lang-zh-CN-result-success.3519c60c.js" rel="prefetch"><link href="/js/lang-zh-CN-result.32c5cf1c.js" rel="prefetch"><link href="/js/lang-zh-CN-setting.8c2ce690.js" rel="prefetch"><link href="/js/lang-zh-CN-user.81513cba.js" rel="prefetch"><link href="/js/lang-zh-CN.3dfa92aa.js" rel="prefetch"><link href="/js/user.1dd8117a.js" rel="prefetch"><link href="/css/app.b0a9877f.css" rel="preload" as="style"><link href="/css/chunk-vendors.5be6e05a.css" rel="preload" as="style"><link href="/js/app.1eae7dfe.js" rel="preload" as="script"><link href="/js/chunk-vendors.87c1e94d.js" rel="preload" as="script"><link href="/css/chunk-vendors.5be6e05a.css" rel="stylesheet"><link href="/css/app.b0a9877f.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><div class="first-loading-wrp"><h2>Easy-Retry</h2><div class="loading-wrp"><span class="dot dot-spin"><i></i><i></i><i></i><i></i></span></div><div style="display: flex; justify-content: center; align-items: center;">分布式重试服务平台</div></div></div><script src="//cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script><script src="//cdn.jsdelivr.net/npm/vue-router@3.5.1/dist/vue-router.min.js"></script><script src="//cdn.jsdelivr.net/npm/vuex@3.1.1/dist/vuex.min.js"></script><script src="//cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js"></script><script src="/js/chunk-vendors.87c1e94d.js"></script><script src="/js/app.1eae7dfe.js"></script></body></html>
|
||||
<!DOCTYPE html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/logo.png"><title>Easy-Retry</title><style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style><link href="/css/chunk-758b2aa4.1c9c785f.css" rel="prefetch"><link href="/css/chunk-77aaac2a.99cbbcce.css" rel="prefetch"><link href="/css/chunk-ff9025ec.cd4961ff.css" rel="prefetch"><link href="/css/user.6ccd4506.css" rel="prefetch"><link href="/js/chunk-2d0a4079.3bbb423d.js" rel="prefetch"><link href="/js/chunk-2d0b7230.fe38dce0.js" rel="prefetch"><link href="/js/chunk-2d0c8f97.72c6927b.js" rel="prefetch"><link href="/js/chunk-2d0d43f4.f5bb36b7.js" rel="prefetch"><link href="/js/chunk-2d0f085f.b8852e6c.js" rel="prefetch"><link href="/js/chunk-2d21a08f.6cb549d6.js" rel="prefetch"><link href="/js/chunk-2d228eef.955019b5.js" rel="prefetch"><link href="/js/chunk-40597980.5e57166b.js" rel="prefetch"><link href="/js/chunk-732da7b5.251276b0.js" rel="prefetch"><link href="/js/chunk-758b2aa4.b88de219.js" rel="prefetch"><link href="/js/chunk-77aaac2a.bb4621bb.js" rel="prefetch"><link href="/js/chunk-ff9025ec.a77618ce.js" rel="prefetch"><link href="/js/fail.fe1af659.js" rel="prefetch"><link href="/js/lang-zh-CN-account-settings.f8f25eaf.js" rel="prefetch"><link href="/js/lang-zh-CN-account.c724e71d.js" rel="prefetch"><link href="/js/lang-zh-CN-dashboard-analysis.d7cabd65.js" rel="prefetch"><link href="/js/lang-zh-CN-dashboard.5180154b.js" rel="prefetch"><link href="/js/lang-zh-CN-form-basicForm.ff3088ac.js" rel="prefetch"><link href="/js/lang-zh-CN-form.cc39e450.js" rel="prefetch"><link href="/js/lang-zh-CN-global.bf0df5c8.js" rel="prefetch"><link href="/js/lang-zh-CN-menu.25425a62.js" rel="prefetch"><link href="/js/lang-zh-CN-result-fail.232762aa.js" rel="prefetch"><link href="/js/lang-zh-CN-result-success.3519c60c.js" rel="prefetch"><link href="/js/lang-zh-CN-result.32c5cf1c.js" rel="prefetch"><link href="/js/lang-zh-CN-setting.8c2ce690.js" rel="prefetch"><link href="/js/lang-zh-CN-user.81513cba.js" rel="prefetch"><link href="/js/lang-zh-CN.3dfa92aa.js" rel="prefetch"><link href="/js/user.8401c9c6.js" rel="prefetch"><link href="/css/app.b0a9877f.css" rel="preload" as="style"><link href="/css/chunk-vendors.5be6e05a.css" rel="preload" as="style"><link href="/js/app.b84c86ee.js" rel="preload" as="script"><link href="/js/chunk-vendors.87c1e94d.js" rel="preload" as="script"><link href="/css/chunk-vendors.5be6e05a.css" rel="stylesheet"><link href="/css/app.b0a9877f.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><div class="first-loading-wrp"><h2>Easy-Retry</h2><div class="loading-wrp"><span class="dot dot-spin"><i></i><i></i><i></i><i></i></span></div><div style="display: flex; justify-content: center; align-items: center;">分布式重试服务平台</div></div></div><script src="//cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script><script src="//cdn.jsdelivr.net/npm/vue-router@3.5.1/dist/vue-router.min.js"></script><script src="//cdn.jsdelivr.net/npm/vuex@3.1.1/dist/vuex.min.js"></script><script src="//cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js"></script><script src="/js/chunk-vendors.87c1e94d.js"></script><script src="/js/app.b84c86ee.js"></script></body></html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -38,7 +38,7 @@
|
||||
<dependency>
|
||||
<groupId>com.aizuda</groupId>
|
||||
<artifactId>easy-retry-client-starter</artifactId>
|
||||
<version>1.3.0-SNAPSHOT</version>
|
||||
<version>1.3.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
|
2
pom.xml
2
pom.xml
@ -21,7 +21,7 @@
|
||||
<java.version>1.8</java.version>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
<revision>1.3.0-SNAPSHOT</revision>
|
||||
<revision>1.3.0</revision>
|
||||
<dingding-talk.version>1.0.0</dingding-talk.version>
|
||||
<hibernate-validator.version>5.4.2.Final</hibernate-validator.version>
|
||||
<netty-all.version>4.1.48.Final</netty-all.version>
|
||||
|
Loading…
Reference in New Issue
Block a user