Skip to content

Commit 1235098

Browse files
committed
1.Modify the directory structure.
2.3 problems solved.
1 parent d8638ea commit 1235098

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+95
-0
lines changed

100.cpp renamed to src/100.cpp

File renamed without changes.

104.cpp renamed to src/104.cpp

File renamed without changes.

122.cpp renamed to src/122.cpp

File renamed without changes.

125.cpp renamed to src/125.cpp

File renamed without changes.

13.cpp renamed to src/13.cpp

File renamed without changes.

136.cpp renamed to src/136.cpp

File renamed without changes.

167.cpp renamed to src/167.cpp

File renamed without changes.

169.cpp renamed to src/169.cpp

File renamed without changes.

171.cpp renamed to src/171.cpp

File renamed without changes.

206.cpp renamed to src/206.cpp

File renamed without changes.

217.cpp renamed to src/217.cpp

File renamed without changes.

226.cpp renamed to src/226.cpp

File renamed without changes.

237.cpp renamed to src/237.cpp

File renamed without changes.

242.cpp renamed to src/242.cpp

File renamed without changes.

258.cpp renamed to src/258.cpp

File renamed without changes.

268.cpp renamed to src/268.cpp

File renamed without changes.

283.cpp renamed to src/283.cpp

File renamed without changes.

292.cpp renamed to src/292.cpp

File renamed without changes.

344.cpp renamed to src/344.cpp

File renamed without changes.

349.cpp renamed to src/349.cpp

File renamed without changes.

350.cpp renamed to src/350.cpp

File renamed without changes.

371.cpp renamed to src/371.cpp

File renamed without changes.

383.cpp renamed to src/383.cpp

File renamed without changes.

387.cpp renamed to src/387.cpp

File renamed without changes.

389.cpp renamed to src/389.cpp

File renamed without changes.

401.cpp renamed to src/401.cpp

File renamed without changes.

404.cpp renamed to src/404.cpp

File renamed without changes.

409.cpp renamed to src/409.cpp

File renamed without changes.

412.cpp renamed to src/412.cpp

File renamed without changes.

src/443.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
int compress(vector<char>& chars) {
2+
int len = chars.size();
3+
char c = chars[0];
4+
int i = 1, j = 0;
5+
int ct = 1;
6+
while (i < len)
7+
{
8+
if (chars[i] == c)
9+
++ct;
10+
else
11+
{
12+
if (ct > 1)
13+
modify_arr(chars, j, c, ct);
14+
else
15+
chars[j++] = c;
16+
c = chars[i];
17+
ct = 1;
18+
}
19+
++i;
20+
}
21+
if (ct > 1)
22+
modify_arr(chars, j, c, ct);
23+
else
24+
chars[j++] = c;
25+
26+
return j;
27+
}
28+
29+
void modify_arr(vector<char>& chars, int& pos, char c, int num)
30+
{
31+
char digit[4] = {'\0'};
32+
int i = 0;
33+
chars[pos++] = c;
34+
while (num > 0)
35+
{
36+
digit[i++] = num%10 + '0';
37+
num /= 10;
38+
}
39+
i = i - 1;
40+
while (i >= 0)
41+
chars[pos++] =digit[i--];
42+
}

447.cpp renamed to src/447.cpp

File renamed without changes.

448.cpp renamed to src/448.cpp

File renamed without changes.

455.cpp renamed to src/455.cpp

File renamed without changes.

461.cpp renamed to src/461.cpp

File renamed without changes.

463.cpp renamed to src/463.cpp

File renamed without changes.

476.cpp renamed to src/476.cpp

File renamed without changes.

485.cpp renamed to src/485.cpp

File renamed without changes.

492.cpp renamed to src/492.cpp

File renamed without changes.

496.cpp renamed to src/496.cpp

File renamed without changes.

500.cpp renamed to src/500.cpp

File renamed without changes.

504.cpp renamed to src/504.cpp

File renamed without changes.

506.cpp renamed to src/506.cpp

File renamed without changes.

520.cpp renamed to src/520.cpp

File renamed without changes.

530.cpp renamed to src/530.cpp

File renamed without changes.

538.cpp renamed to src/538.cpp

File renamed without changes.

551.cpp renamed to src/551.cpp

File renamed without changes.

557.cpp renamed to src/557.cpp

File renamed without changes.

561.cpp renamed to src/561.cpp

File renamed without changes.

563.cpp renamed to src/563.cpp

File renamed without changes.

566.cpp renamed to src/566.cpp

File renamed without changes.

575.cpp renamed to src/575.cpp

File renamed without changes.

598.cpp renamed to src/598.cpp

File renamed without changes.

599.cpp renamed to src/599.cpp

File renamed without changes.

606.cpp renamed to src/606.cpp

File renamed without changes.

617.cpp renamed to src/617.cpp

File renamed without changes.

637.cpp renamed to src/637.cpp

File renamed without changes.

653.cpp renamed to src/653.cpp

File renamed without changes.

657.cpp renamed to src/657.cpp

File renamed without changes.

669.cpp renamed to src/669.cpp

File renamed without changes.

682.cpp renamed to src/682.cpp

File renamed without changes.

690.cpp renamed to src/690.cpp

File renamed without changes.

src/693.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
bool hasAlternatingBits(int n) {
2+
if (n <= 1)
3+
return false;
4+
else
5+
{
6+
int bit = n&0x1;
7+
n >>= 1;
8+
while (n > 0)
9+
{
10+
if ((n&0x1) == bit)
11+
return false;
12+
bit = 1-bit;
13+
n >>= 1;
14+
}
15+
return true;
16+
}
17+
}

src/697.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
int findShortestSubArray(vector<int>& nums) {
2+
int len = nums.size();
3+
map<int, vector<int>> mp;
4+
for (int i = 0; i < len; ++i)
5+
{
6+
if (mp.find(nums[i]) == mp.end())
7+
mp.insert(pair<int, vector<int>>(nums[i], vector<int>(1, i)));
8+
else
9+
mp[nums[i]].push_back(i);
10+
}
11+
12+
int maxlen = 0;
13+
for (auto iter = mp.begin(); iter != mp.end(); ++iter)
14+
{
15+
if (iter->second.size() > maxlen)
16+
maxlen = iter->second.size();
17+
}
18+
19+
auto iter = mp.begin();
20+
while (iter != mp.end() && iter->second.size() != maxlen)
21+
++iter;
22+
int shortlength = iter->second[maxlen - 1] - iter->second[0] + 1;
23+
++iter;
24+
25+
for (; iter != mp.end(); ++iter)
26+
{
27+
if (iter->second.size() == maxlen)
28+
{
29+
int dist = iter->second[maxlen - 1] - iter->second[0] + 1;
30+
if (dist < shortlength)
31+
shortlength = dist;
32+
}
33+
}
34+
35+
return shortlength;
36+
}

0 commit comments

Comments
 (0)