-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
139 lines (128 loc) · 34.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!DOCTYPE html><html lang="en" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>ChengGuang</title><meta name="description"><meta name="author" content="ChengGuang"><meta name="copyright" content="ChengGuang"><meta name="format-detection" content="telephone=no"><link rel="shortcut icon" href="/img/ccc.jpg"><link rel="canonical" href="https://chengguang-li.github.io/"><meta http-equiv="Cache-Control" content="no-transform"><meta http-equiv="Cache-Control" content="no-siteapp"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//fonts.googleapis.com" crossorigin="crossorigin"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><meta property="og:type" content="website"><meta property="og:title" content="ChengGuang"><meta property="og:url" content="https://chengguang-li.github.io/"><meta property="og:site_name" content="ChengGuang"><meta property="og:description"><meta property="og:image" content="https://chengguang-li.github.io/img/avtar1.jpg"><meta property="article:published_time" content="2021-07-20T15:57:04.119Z"><meta property="article:modified_time" content="2021-07-20T15:57:04.119Z"><meta name="twitter:card" content="summary"><script>var activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#000')
}
}
var activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#fff')
}
}
var getCookies = function (name) {
const value = `; ${document.cookie}`
const parts = value.split(`; ${name}=`)
if (parts.length === 2) return parts.pop().split(';').shift()
}
var autoChangeMode = 'false'
var t = getCookies('theme')
if (autoChangeMode === '1') {
var isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
var isLightMode = window.matchMedia('(prefers-color-scheme: light)').matches
var isNotSpecified = window.matchMedia('(prefers-color-scheme: no-preference)').matches
var hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified
if (t === undefined) {
if (isLightMode) activateLightMode()
else if (isDarkMode) activateDarkMode()
else if (isNotSpecified || hasNoSupport) {
console.log('You specified no preference for a color scheme or your browser does not support it. I Schedule dark mode during night time.')
var now = new Date()
var hour = now.getHours()
var isNight = hour <= 6 || hour >= 18
isNight ? activateDarkMode() : activateLightMode()
}
window.matchMedia('(prefers-color-scheme: dark)').addListener(function (e) {
if (Cookies.get('theme') === undefined) {
e.matches ? activateDarkMode() : activateLightMode()
}
})
} else if (t === 'light') activateLightMode()
else activateDarkMode()
} else if (autoChangeMode === '2') {
now = new Date()
hour = now.getHours()
isNight = hour <= 6 || hour >= 18
if (t === undefined) isNight ? activateDarkMode() : activateLightMode()
else if (t === 'light') activateLightMode()
else activateDarkMode()
} else {
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
}</script><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Titillium+Web&display=swap"><script>var GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":"search.xml","languages":{"hits_empty":"We didn't find any results for the search: ${query}"}},
translate: undefined,
copy: {
success: 'Copy successfully',
error: 'Copy error',
noSupport: 'The browser does not support'
},
bookmark: {
message_prev: 'Press',
message_next: 'to bookmark this page'
},
runtime_unit: 'days',
runtime: true,
copyright: undefined,
ClickShowText: {"text":"Code,Eat,Sleep","fontSize":"15px"},
medium_zoom: false,
fancybox: true,
Snackbar: {"bookmark":{"message_prev":"Press","message_next":"to bookmark this page"},"chs_to_cht":"Traditional Chinese Activated Manually","cht_to_chs":"Simplified Chinese Activated Manually","day_to_night":"Dark Mode Activated Manually","night_to_day":"Light Mode Activated Manually","bgLight":"#49b1f5","bgDark":"#121212","position":"bottom-left"},
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
},
baiduPush: false,
highlightCopy: true,
highlightLang: true,
isPhotoFigcaption: false,
islazyload: true,
isanchor: false
}</script><script>var GLOBAL_CONFIG_SITE = {
isPost: false,
isHome: true,
isHighlightShrink: false,
isSidebar: false
}</script><noscript><style>
#nav {
opacity: 1
}
.justified-gallery img{
opacity: 1
}
</style></noscript></head><body><div id="mobile-sidebar"><div id="menu_mask"></div><div id="mobile-sidebar-menus"><div class="mobile_author_icon"><img class="avatar-img" src="/img/avtar1.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="mobile_post_data"><div class="mobile_data_item is-center"><div class="mobile_data_link"><a href="/archives/"><div class="headline">Articles</div><div class="length_num">24</div></a></div></div><div class="mobile_data_item is-center"> <div class="mobile_data_link"><a href="/tags/"><div class="headline">Tags</div><div class="length_num">8</div></a></div></div><div class="mobile_data_item is-center"> <div class="mobile_data_link"><a href="/categories/"><div class="headline">Categories</div><div class="length_num">7</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div></div></div></div><div id="body-wrap"><header class="full_page" id="page-header" style="background-image: url(/img/palm.jpg)"><nav id="nav"><span class="pull-left" id="blog_name"><a class="blog_title" id="site-name" href="/">ChengGuang</a></span><span class="pull-right menus"><div id="search_button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> Search</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div></div><span class="toggle-menu close"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></span></span></nav><div id="site-info"><h1 id="site_title">ChengGuang</h1><div id="site_subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/xxxxx" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:xxxxxx@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div id="scroll_down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout_page" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/07/21/Letter-Combinations-of-a-Phone-Number/" title="Letter Combinations of a Phone Number"> <img class="post_bg" data-src="/img/coverTree.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Letter Combinations of a Phone Number"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/21/Letter-Combinations-of-a-Phone-Number/" title="Letter Combinations of a Phone Number">Letter Combinations of a Phone Number</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-21 01:30:17"><i class="far fa-calendar-alt"></i>2021-07-21</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/">Leetcode Algorithm</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/Backtricking/">Backtricking</a></span></div><div class="content">Letter Combinations of a Phone NumberLeetcode 17.
1234567891011121314151617181920212223242526272829303132333435class Solution { public List<String> letterCombinations(String digits) { List<String> combinations = new ArrayList<String>(); if (digits.length() == 0) { return combinations; } Map<Character, String> phoneMap = new HashMap<Character, String>() {{ put('2', "abc"); p ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/07/21/Sudoku-Solver/" title="Sudoku Solver"> <img class="post_bg" data-src="/img/coverCoding.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Sudoku Solver"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/21/Sudoku-Solver/" title="Sudoku Solver">Sudoku Solver</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-21 01:16:42"><i class="far fa-calendar-alt"></i>2021-07-21</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/">Leetcode Algorithm</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/Backtricking/">Backtricking</a></span></div><div class="content">Sudoku SolverLeetcode 37.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758class Solution { public void solveSudoku(char[][] board) { backtricking(board); } private boolean backtricking(char[][] board){ //for loop: outside for loop rows, inside for loop columns for(int i = 0; i < 9;i++){ //loop rows for(int j = 0; j < 9;j++){ //loop columns //Skip o ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/07/20/N-Queens/" title="N Queens"> <img class="post_bg" data-src="/img/coverMan.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="N Queens"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/20/N-Queens/" title="N Queens">N Queens</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-20 15:57:04"><i class="far fa-calendar-alt"></i>2021-07-20</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/">Leetcode Algorithm</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/Backtricking/">Backtricking</a></span></div><div class="content">N QueensLeetcode 51.
version 11234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465class Solution { public List<List<String>> solveNQueens(int n) { List<List<String>> ans = new ArrayList<>(); if(n == 3){ return ans; } char[][] chessBoard = new char[n][n]; for(char[] c: chessBoard){ Arrays.fill(c,'.'); } backtricking( ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/07/20/Palindrome-Partitioning/" title="Palindrome Partitioning"> <img class="post_bg" data-src="/img/coverMask.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Palindrome Partitioning"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/20/Palindrome-Partitioning/" title="Palindrome Partitioning">Palindrome Partitioning</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-20 14:46:34"><i class="far fa-calendar-alt"></i>2021-07-20</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/">Leetcode Algorithm</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/Backtricking/">Backtricking</a></span></div><div class="content">Palindrome PartitioningLeetcode 131.
123456789101112131415161718192021222324252627282930313233343536class Solution { public List<List<String>> partition(String s) { List<String> list = new ArrayList<>(); List<List<String>> ans = new ArrayList<>(); backtricking(list,s,ans); return ans; } public void backtricking(List<String> list, String s,List<List<String>> ans){ //recursion st ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/07/19/Subsets-II/" title="Subsets II"> <img class="post_bg" data-src="/img/coverPhone.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Subsets II"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/19/Subsets-II/" title="Subsets II">Subsets II</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-19 23:33:37"><i class="far fa-calendar-alt"></i>2021-07-19</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/">Leetcode Algorithm</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/Backtricking/">Backtricking</a></span></div><div class="content">Subsets IILeetcode 90.
123456789101112131415161718192021222324252627282930313233343536373839class Solution { public List<List<Integer>> subsetsWithDup(int[] nums) { List<Integer> list = new ArrayList<>(); List<List<Integer>> ans = new ArrayList<>(); boolean[] visited = new boolean[nums.length]; Arrays.sort(nums); for(int i = 0; i <= nums.length;i++){ backtricking(nums,list,ans,0,i,visited); } ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/07/19/Subsets/" title="Subsets"> <img class="post_bg" data-src="/img/coverMan.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Subsets"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/19/Subsets/" title="Subsets">Subsets</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-19 23:12:10"><i class="far fa-calendar-alt"></i>2021-07-19</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/">Leetcode Algorithm</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/Backtricking/">Backtricking</a></span></div><div class="content">Subsets Leetcode 78.
123456789101112131415161718192021222324252627282930313233343536class Solution { public List<List<Integer>> subsets(int[] nums) { List<Integer> list = new ArrayList<>(); List<List<Integer>> ans = new ArrayList<>(); ans.add(list); boolean[] visited = new boolean[nums.length]; for(int i = 1; i <= nums.length;i++){ backtricking(nums,list,ans,0,i,visited); } ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/07/19/Combination-Sum-III/" title="Combination Sum III"> <img class="post_bg" data-src="/img/coverMan.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Combination Sum III"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/19/Combination-Sum-III/" title="Combination Sum III">Combination Sum III</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-19 22:15:52"><i class="far fa-calendar-alt"></i>2021-07-19</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/">Leetcode Algorithm</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/Backtricking/">Backtricking</a></span></div><div class="content">Combination Sum IIILeetcode 216.
123456789101112131415161718192021222324252627282930313233343536373839class Solution { public List<List<Integer>> combinationSum3(int k, int n) { List<Integer> list = new ArrayList<>(); List<List<Integer>> ans = new ArrayList<>(); int[] nums = new int[9]; for(int i = 1; i < 10;i++){ nums[i-1] = i; } boolean[] visited = new boolean[nums.length]; backtric ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/07/19/Combination-Sum-II/" title="Combination Sum II"> <img class="post_bg" data-src="/img/coverPhone.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Combination Sum II"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/19/Combination-Sum-II/" title="Combination Sum II">Combination Sum II</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-19 18:39:19"><i class="far fa-calendar-alt"></i>2021-07-19</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/">Leetcode Algorithm</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/Backtricking/">Backtricking</a></span></div><div class="content">Combination Sum IILeetcode 40.
find all unique combinations in candidates through pruning:
key steps:
sort candidates first
//pruningif (i != 0 && candidates[i] == candidates[i - 1] && !visited[i - 1]) continue;
1234567891011121314151617181920212223242526272829303132333435363738class Solution { public List<List<Integer>> combinationSum2(int[] candidates, int target) { List<Integer> list = new ArrayList<>(); List<List ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/07/19/Combination-Sum/" title="Combination Sum"> <img class="post_bg" data-src="/img/coverMask.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Combination Sum"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/19/Combination-Sum/" title="Combination Sum">Combination Sum</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-19 14:55:31"><i class="far fa-calendar-alt"></i>2021-07-19</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/">Leetcode Algorithm</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/categories/Leetcode-Algorithm/Backtricking/">Backtricking</a></span></div><div class="content">Combination SumLeetcode 39.
In order to achieve the unique combinations of candidates, for loop should start with the specified value named start. This operation is usually called Pruning
1234567891011121314151617181920212223242526272829303132class Solution { public List<List<Integer>> combinationSum(int[] candidates, int target) { List<List<Integer>> ans = new ArrayList<>(); List<Integer> list = new ArrayList<>(); ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/07/19/Java/" title="Java"> <img class="post_bg" data-src="/img/coverCode.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Java"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/19/Java/" title="Java">Java</a><div class="article-meta-wrap"><time class="post-meta__date" title="Created 2021-07-19 11:58:17"><i class="far fa-calendar-alt"></i>2021-07-19</time><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox article-meta__icon"></i><a class="article-meta__categories" href="/categories/Java/">Java</a></span></div><div class="content">Java common operationsListList Reverse 1234List<Integer> list = new ArrayList<>();list.add(1);list.add(2);Collections.reverse(list); //list: [2,1]
List contains12345List<Integer> ans = new ArrayList<>();//add element ans.add(1);ans.add(2);boolean result = ans.contains(1); // true
List Shallow cloneFor the reference data type, the copy is its reference, and a new object is not created, that is, no new memory space is allocated. Such a copy is called a shallow copy.
Sha ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="page-number" href="/page/3/">3</a><a class="extend next" rel="next" href="/page/2/"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside_content" id="aside_content"><div class="card-widget card-info"><div class="card-content"><div class="card-info-avatar is-center"><img class="avatar-img" src="/img/avtar1.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/><div class="author-info__name">ChengGuang</div><div class="author-info__description"></div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/archives"><div class="headline">Articles</div><div class="length_num">24</div></a></div><div class="card-info-data-item is-center"> <a href="/tags"><div class="headline">Tags</div><div class="length_num">8</div></a></div><div class="card-info-data-item is-center"> <a href="/categories"><div class="headline">Categories</div><div class="length_num">7</div></a></div></div><div class="card-info-bookmark is-center"><button class="button--animated" id="bookmark-it" title="Bookmark"><i class="fas fa-bookmark"></i><span>Bookmark</span></button></div><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/xxxxx" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:xxxxxx@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div></div><div class="card-widget card-announcement"><div class="card-content"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>Announcement</span></div><div class="announcement_content">This is my Blog</div></div></div><div class="card-widget card-recent-post"><div class="card-content"><div class="item-headline"><i class="fas fa-history"></i><span>Recent Post</span></div><div class="aside-recent-item"><div class="aside-recent-post"><a href="/2021/07/21/Letter-Combinations-of-a-Phone-Number/"><div class="aside-post-cover"><img class="aside-post-bg" data-src="/img/coverTree.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="Letter Combinations of a Phone Number" alt="Letter Combinations of a Phone Number"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2021/07/21/Letter-Combinations-of-a-Phone-Number/" title="Letter Combinations of a Phone Number">Letter Combinations of a Phone Number</div><time class="aside-post_meta post-meta__date" title="Created 2021-07-21 01:30:17">2021-07-21</time></div></a></div><div class="aside-recent-post"><a href="/2021/07/21/Sudoku-Solver/"><div class="aside-post-cover"><img class="aside-post-bg" data-src="/img/coverCoding.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="Sudoku Solver" alt="Sudoku Solver"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2021/07/21/Sudoku-Solver/" title="Sudoku Solver">Sudoku Solver</div><time class="aside-post_meta post-meta__date" title="Created 2021-07-21 01:16:42">2021-07-21</time></div></a></div><div class="aside-recent-post"><a href="/2021/07/20/N-Queens/"><div class="aside-post-cover"><img class="aside-post-bg" data-src="/img/coverMan.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="N Queens" alt="N Queens"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2021/07/20/N-Queens/" title="N Queens">N Queens</div><time class="aside-post_meta post-meta__date" title="Created 2021-07-20 15:57:04">2021-07-20</time></div></a></div><div class="aside-recent-post"><a href="/2021/07/20/Palindrome-Partitioning/"><div class="aside-post-cover"><img class="aside-post-bg" data-src="/img/coverMask.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="Palindrome Partitioning" alt="Palindrome Partitioning"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2021/07/20/Palindrome-Partitioning/" title="Palindrome Partitioning">Palindrome Partitioning</div><time class="aside-post_meta post-meta__date" title="Created 2021-07-20 14:46:34">2021-07-20</time></div></a></div><div class="aside-recent-post"><a href="/2021/07/19/Subsets-II/"><div class="aside-post-cover"><img class="aside-post-bg" data-src="/img/coverPhone.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" title="Subsets II" alt="Subsets II"/></div><div class="aside-post-title"><div class="aside-post_title" href="/2021/07/19/Subsets-II/" title="Subsets II">Subsets II</div><time class="aside-post_meta post-meta__date" title="Created 2021-07-19 23:33:37">2021-07-19</time></div></a></div></div></div></div><div class="card-widget card-categories"><div class="card-content"><div class="item-headline"><i class="fas fa-folder-open"></i><span>Categories</span></div><ul class="card-category-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Algorithm/"><span class="card-category-list-name">Algorithm</span><span class="card-category-list-count">1</span></a></li><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Algorithm/Backtricking-Algorithm/"><span class="card-category-list-name">Backtricking Algorithm</span><span class="card-category-list-count">1</span></a></li></ul><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Java/"><span class="card-category-list-name">Java</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Leetcode-Algorithm/"><span class="card-category-list-name">Leetcode Algorithm</span><span class="card-category-list-count">18</span></a></li><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Leetcode-Algorithm/Array/"><span class="card-category-list-name">Array</span><span class="card-category-list-count">3</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Leetcode-Algorithm/Backtricking/"><span class="card-category-list-name">Backtricking</span><span class="card-category-list-count">15</span></a></li></ul><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/schedule/"><span class="card-category-list-name">schedule</span><span class="card-category-list-count">2</span></a></li>
</ul></div></div><div class="card-widget card-tags"><div class="card-content"><div class="item-headline"><i class="fas fa-tags"></i><span>Tags</span></div><div class="card-tag-cloud"><a href="/tags/Java/" style="font-size: 16px; color: #999">-Java</a> <a href="/tags/Algorithm/" style="font-size: 16px; color: #999">Algorithm</a> <a href="/tags/Array/" style="font-size: 19px; color: #99a1ac">Array</a> <a href="/tags/Backtricking/" style="font-size: 20.5px; color: #99a5b6">Backtricking</a> <a href="/tags/Backtricking-Algorithm/" style="font-size: 16px; color: #999">Backtricking Algorithm</a> <a href="/tags/Enterprise-application-development-for-the-web/" style="font-size: 16px; color: #999">Enterprise application development for the web</a> <a href="/tags/Leetcode-Algorithm/" style="font-size: 22px; color: #99a9bf">Leetcode Algorithm</a> <a href="/tags/schedule/" style="font-size: 17.5px; color: #999da3">schedule</a></div></div></div><div class="card-widget card-archives"><div class="card-content"><div class="item-headline"><i class="fas fa-archive"></i><span>Archives</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/07/"><span class="card-archive-list-date">July 2021</span><span class="card-archive-list-count">17</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/08/"><span class="card-archive-list-date">August 2020</span><span class="card-archive-list-count">7</span></a></li></ul></div></div><div class="card-widget card-webinfo"><div class="card-content"><div class="item-headline"><i class="fas fa-chart-line"></i><span>Info</span></div><div class="webinfo"><div class="webinfo-item"><div class="webinfo-article-name">Article :</div><div class="webinfo-article-count">24</div></div><div class="webinfo-item"><div class="webinfo-runtime-name">Run time :</div><div class="webinfo-runtime-count" id="webinfo-runtime-count" publish_date="07/20/2020"> </div></div><div class="webinfo-item"> <div class="webinfo-site-uv-name">UV :</div><div class="webinfo-site-uv-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="webinfo-site-name">PV :</div><div class="webinfo-site-pv-count" id="busuanzi_value_site_pv"></div></div></div></div></div></div></main><footer id="footer" data-type="color"><div id="footer-wrap"><div class="copyright">©2020 - 2021 <i id="heartbeat" class="fa fas fa-heartbeat"></i> ChengGuang</div><div class="footer_custom_text">Hi,welcome to my <a href="https://chengguang-li.github.io/">blog</a>!</div></div><head><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/HCLonely/images@master/others/heartbeat.min.css"><meta name="generator" content="Hexo 4.2.1"></head></footer></div><section class="rightside" id="rightside"><div id="rightside-config-hide"><button id="darkmode" title="Switch Between Light And Dark Mode"><i class="fas fa-adjust"></i></button></div><div id="rightside-config-show"><button id="rightside_config" title="Setting"><i class="fas fa-cog"></i></button><button id="go-up" title="Back To Top"><i class="fas fa-arrow-up"></i></button></div></section><div class="search-dialog" id="local-search"><div class="search-dialog__title" id="local-search-title">Local search</div><div id="local-input-panel"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="Search for Posts" type="text"/></div></div></div><hr/><div id="local-search-results"><div id="local-hits"></div><div id="local-stats"><div class="local-search-stats__hr" id="hr"><span>Powered by</span> <a href="https://github.com/wzpan/hexo-generator-search" target="_blank" rel="noopener" style="color:#49B1F5;">hexo-generator-search</a></div></div></div><span class="search-close-button"><i class="fas fa-times"></i></span></div><div class="search-mask"></div><script src="https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js"></script><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script src="/js/third-party/activate-power-mode.js"></script><script>POWERMODE.colorful = true;
POWERMODE.shake = true;
document.body.addEventListener('input', POWERMODE);
</script><script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module" defer></script><script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js" async></script><script src="/js/third-party/click_heart.js"></script><script src="/js/third-party/ClickShowText.js"></script><script src="/js/search/local-search.js"></script><script src="https://cdn.jsdelivr.net/npm/typed.js"></script><script>var subtitleEffect = true
if (subtitleEffect) {
var typed = new Typed("#subtitle", {
strings: "Never put off till tomorrow what you can do today,今日事,今日毕".split(","),
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50
})
} else {
document.getElementById("subtitle").innerHTML = 'Never put off till tomorrow what you can do today'
}</script><script src="/live2dw/lib/L2Dwidget.min.js?094cbace49a39548bed64abff5988b05"></script><script>L2Dwidget.init({"pluginRootPath":"live2dw/","pluginJsPath":"lib/","pluginModelPath":"assets/","tagMode":false,"debug":false,"model":{"jsonPath":"/live2dw/assets/wanko.model.json"},"display":{"position":"right","width":150,"height":300},"mobile":{"show":true},"react":{"opacity":0.7},"log":false});</script></body></html>