< Ace Coding /> ๐Ÿš€
338 subscribers
54 photos
2 videos
95 files
66 links
Welcome to Ace Coding! Join us for tips, tutorials, and insights on coding and software engineering. Stay updated with the latest content and elevate your programming skills!Let's learn and grow together in the world of software engineering!
Download Telegram
/*
You are given a string s consisting only of lowercase English letters.
We call a substring special if it contains no character which has occurred at least twice (in other words, it does not contain a repeating character).
Your task is to count the number of special substrings.
For example, in the string "pop", the substring "po" is a special substring, however, "pop" is not special (since 'p' has occurred twice).
Return the number of special substrings.
A substring is a contiguous sequence of characters within a string. For example, "abc" is a substring of "abcd", but "acd" is not.

Example 1:
Input: s = "abcd"


Output: 10
Explanation: Since each character occurs once, every substring is a special substring.
We have 4 substrings of length one, 3 of length two, 2 of length three, and 1 substring of length four. So overall there are 4 + 3 + 2 + 1 = 10 special substrings.

Example 2:
Input: s = "ooo"
Output: 3
Explanation: Any substring with a length of at least two contains a repeating character. So we have to count the number of substrings of length one, which is 3.

Example 3:
Input: s = "abab"
Output: 7
Explanation: Special substrings are as follows (sorted by their start positions):
Special substrings of length 1: "a", "b", "a", "b"
Special substrings of length 2: "ab", "ba", "ab"
And it can be shown that there are no special substrings with a length of at least three. So the answer would be 4 + 3 = 7.
l r
a b c d a

Constraints:
1 <= s.length <= 10^5
s consists of lowercase English letters
< Ace Coding /> ๐Ÿš€
/* You are given a string s consisting only of lowercase English letters. We call a substring special if it contains no character which has occurred at least twice (in other words, it does not contain a repeating character). Your task is to count the numberโ€ฆ
This one took me much longer time not gonna lie.๐Ÿ˜ฎโ€๐Ÿ’จ

โœ… Solution : this is as efficient as it can get
python 
def countSpaceialSubString(s):
seen = set()
l = 0
count = 0

for r in range(len(s)):
if s[r] in seen:
while s[l] != s[r]:
seen.remove(s[l])
l += 1
l += 1

seen.add(s[r])
count += r - l + 1

return count


print(countSpaceialSubString("abcd"))
print(countSpaceialSubString("ooo"))
print(countSpaceialSubString("abab"))
print(countSpaceialSubString("abcabc"))
Question: Can You Make This String a Palindrome?

A palindrome is a string that reads the same forwards and backwards. Given a string, determine if it's possible to rearrange the characters to form a palindrome.

Examples:

1. Input: "civic"

   โ€ข Output: True

   โ€ข Explanation: The string is already a palindrome.

2. Input: "ivicc"

   โ€ข Output: True

   โ€ข Explanation: Rearranging the characters can form the palindrome "civic".

3. Input: "hello"

   โ€ข Output: False

   โ€ข Explanation: No rearrangement can form a palindrome.

4. Input: "aabbcc"

   โ€ข Output: True

   โ€ข Explanation: Rearranging the characters can form the palindrome "abcba".

5. Input: "racecar"

   โ€ข Output: True

   โ€ข Explanation: The string is already a palindrome.

Challenge:
Write a function that takes a string as input and returns True if the string can be rearranged to form a palindrome, and False otherwise.
Question Description
Given a string s and an integer k, return the number of substrings in s of length k with no repeated characters.
Example 1:
Input: s = "unonleetcode", k = 5
Output: 2
Explanation: There are 6 substrings they are: 'havef','avefu','vefun','efuno','etcod','tcode'.

Example 2:
Input: s = "home", k = 5
Output: 0
Explanation: Notice k can be larger than the length of s. In this case, it is not possible to find any substring.

Example 3:
Input: s = "havefunonleetcode", k = 5
Output: 6
Explanation: There are 6 substrings they are: 'havef','avefu','vefun','efuno','etcod','tcode'.


โœ… Solution: as I have told you this pattern repeats a lot so you got this
def subStringK(s, k):
seen = set()
count = 0
l = 0

for r in range(len(s)):
if s[r] in seen:
while s[l] != s[r]:
seen.remove(s[l])
l += 1
l += 1

if r - l + 1 == k:
count += 1
seen.remove(s[l])
l += 1

seen.add(s[r])
return count


print(subStringK("unonleetcode", 5))
print(subStringK("havefunonleetcode", 5))
print(subStringK("aaabbaaa", 2))
print(subStringK("aaabbaaa", 100))
โœ… Hello everyone, today was my interview date, and I was asked the following question: At first, I thought I could use the two pointers technique to solve it, but then I realized that that would make the algorithm inefficient. Then I noticed that the number of 1s will be the length of the subarray with grouped 1s. This changed my approach to a fixed sliding window, and then the rest was easy. My interviewer was very nice and guided me the whole way.

'''
Given a binary array data, return the minimum number of swaps required to group all 1โ€™s
present in the array together in any place in the array.


Example 1:

Input: data = [1,0,1,0,1]
Output: 1
Explanation: There are 3 ways to group all 1's together:
[1,1,1,0,0] using 1 swap.
[0,1,1,1,0] using 2 swaps.
[0,0,1,1,1] using 1 swap.
The minimum is 1.

Example 2:
Input: data = [0,0,0,1,0]
Output: 0
Explanation: Since there is only one 1 in the array, no swaps are needed.

Example 3:
Input: data = [1,0,1,0,1,0,0,1,1,0,1] count_ones = 6 count_zeros = 3 curr_zeros = 3 min of count_zeros and curr_zeros
l
r
time comp = O(n)
space comp = O(1)

Output: 3
Explanation: One possible solution that uses 3 swaps is [0,0,0,0,0,1,1,1,1,1,1].


Constraints:

1 <= data.length <= 10**5
data[i] is either 0 or 1.
'''

"""
1. count 1's store one count_ones
2. assign count_zeros = inf curr_zeros = 0
3. l, r = 0
4. check for a valid window
5. update curr_zeros
6. take the min of the count_zeros and curr_zeros
7. check if the values at the indexes are zeros if so decrement curr_zeros
8. update pointers
9. return count_zeros
"""
# my code
def minNumberOfSwaps(arr):
count_ones = arr.count(1)
count_zeros, curr_zeros = float('inf'), 0
l = 0

for r in range(len(arr)):
if arr[r] == 0:
curr_zeros += 1
# check for a valid window
if r - l + 1 == count_ones:
count_zeros = min(count_zeros, curr_zeros)
if arr[l] == 0:
curr_zeros -= 1
l += 1

return count_zeros if count_zeros != float('inf') else 0


"""
1= 6
curr_zeros = 3
count_zeros = 3
1,0,1,0,1,0,0,1,1,0,1
l
r
"""


#A2SV #a2sv #a2sv2024
A2SV a2sv 2024 In person

๐Ÿš€ @AceCoding Presents! ๐Ÿš€
๐Ÿ‘9
"""
You are given a string s consisting only of the letters 'a' and 'b', and an integer k.
What is the minimum number of characters you need to change to obtain a substring of length โ‰ฅ k where all characters are the same?

Example 1:
s = โ€œaabaabaaโ€, k = 3
Output: 1
Explanation: s can be transformed to โ€œaaaaabaaโ€

Example 2:
s = โ€œbbabbabaโ€, k = 8
Output: 3
Explanation: s can be transformed to โ€œbbbbbbbbโ€

Constraints:
1 <= s.length <= 10^5
1 <= k <= s.length

aaab, k = 4
aaaa
abs(3 - 1) = 2
"""
๐Ÿ‘3
Given an array of integer arrays arrays where each arrays[i] is sorted in strictly increasing order,
return an integer array representing the longest common subsequence among all the arrays.
A subsequence is a sequence that can be derived from another sequence by deleting some elements (possibly none)
without changing the order of the remaining elements.

Example 1:
Input: arrays = [[1,3,4],
                 [1,4,7,9]]
Output: [1,4]
Explanation: The longest common subsequence in the two arrays is [1,4].
Example 2:
Input: arrays = [[2,3,6,8],
                 [1,2,3,5,6,7,10],
                 [2,3,4,6,9]]
Output: [2,3,6]
Explanation: The longest common subsequence in all three arrays is [2,3,6].

Example 3:
Input: arrays = [[1,2,3,4,5],
                 [6,7,8]]
Output: []
Explanation: There is no common subsequence between the two arrays.


Constraints:
2 <= arrays.length <= 100
1 <= arrays[i].length <= 100
1 <= arrays[i][j] <= 100
arrays[i] is sorted in strictly increasing order.

'''
Forwarded from AASTU CPC
#Registration


Register Here


Requirement:

A student of AASTU
(Any department)

Interest for puzzles, games, problem solving


Join us @aastucpc
๐Ÿ”ฅ4
แ‹ญแˆ… แ‰ แˆแˆตแˆ‰ แ‹จแˆแ‰ณแ‹ฉแ‰ต แˆแŒ…: แ‹ซแ‰คแ… แˆฐแˆˆแˆžแŠ• แ‹ญแ‰ฃแˆ‹แˆแข แ‹จ8แŠ› แŠญแแˆ แ‰ฐแˆ›แˆช แАแ‹แข แ‹จแˆšแŠ–แˆจแ‹ แ‹จแŠซ แŠ แ‰ฃแ‹ถ แˆฒแˆ†แŠ• แŠซแŒ‹แŒ แˆ˜แ‹ แ‹จแŠฉแˆ‹แˆŠแ‰ต แ‰ แˆฝแ‰ณ แ‹จแˆ˜แŒจแˆจแˆป แ‹ฐแˆจแŒƒ แˆ‹แ‹ญ แˆตแˆˆแ‹ฐแˆจแˆฐ แ‹ˆแ‹ฐ แ‹แŒช แˆ€แŒˆแˆญ แˆ„แ‹ถ transplant แˆ›แ‹ตแˆจแŒ แŠฅแŠ•แ‹ณแˆˆแ‰ แ‰ต แˆˆแ‰คแ‰ฐแˆฐแ‰ฆแ‰น แ‰ฐแАแŒแˆฏแˆแข แˆˆแˆ…แŠญแˆแŠ“แ‹แˆ แ‹ˆแ‹ฐ 5 แˆšแˆŠแ‹จแŠ• แ‰ฅแˆญ แ‹ซแˆตแˆแˆแŒˆแ‹‹แˆแข แŠ แ‰ฃแ‰ฑ แ‹จแŠ แ‰ฃแ‹ถ แˆ˜แˆฐแˆจแ‰ฐ แŠญแˆญแˆตแ‰ถแˆต แ‰ค/แŠญ แŠ แŒˆแˆแŒ‹แ‹ญ แˆฒแˆ†แŠ• แˆŒแˆ‹ แ‹จแŒˆแ‰ข แˆแŠ•แŒญ แˆตแˆˆแˆŒแˆˆแ‹ แˆแŒ แŠฅแŠ•แ‹ฒแ‰ณแŠจแˆ แŠฅแˆญแ‹ณแ‰ณ แŒ แ‹ญแ‰‹แˆแข
แˆตแˆˆแ‹šแˆ… แ‹จแ‹šแˆ… แ‰ฅแˆ‹แ‰ดแŠ“ แˆ…แ‹ญแ‹ˆแ‰ต แ‰ฃแˆˆแŠ• แŠ แ‰…แˆ แ‰ แˆ˜แ‹ฐแŒˆแ แŠฅแŠ•แ‰ณแ‹ฐแŒแค แŠฅแŠ•แ€แˆแ‹ญแˆˆแ‰ต!

แˆˆแˆ˜แ‹ฐแŒˆแ แ‹จแˆแ‰ตแˆแˆแŒ‰: Account holder: Solomon Alemayehu (Yabetsโ€™ Father)
CBE: 1000057164143
Awash: 01320037587500
Abyssinia: 102845781
Cooperative : 1000072492677
Go fund me: https://gofund.me/698c8f50
Phone: 0911670476/ 0962157832
โค3๐Ÿ™1
๐ŸŽ‰ G6 A2SV In-Person Education Program results ๐Ÿš€๐ŸŽ“

The G6 A2SV In-Person Education Program results will be revealed by the end of next week! ๐Ÿ—“โœจ

Source: A2SV - Weekly Wins and Demos - December 27
๐Ÿ‘‰ See the updates on the Remote Education too.


Stay tuned, and get ready to celebrate your hard work and achievements! ๐Ÿง‘โ€๐Ÿ’ป๐ŸŒŸ

#A2SVResults ๐ŸŽŠ

@AceCoding presents
๐Ÿ‘1
Forwarded from AASTU POLL AND QUIZ QUESTIONS (Natben แŠ แ‰ก แˆซแŠขแŒฃ ๐Ÿค—)
๐Ÿ’ป Call for Registration for Winter Bootcamp


[UNESCO UNITWIN] 2025 Winter Digital Innovation BootCamp
Theme: Artificial Intelligence and K-eGov Open Source Framework in Ethiopia

The Bootcamp registration is now open!

Due Date: January 25 (Saturday)

๐Ÿ‘‰๐Ÿพ Registration Link

You can also access the registration link via the QR Code provided on the poster above.

For inquiries, feel free to contact us via email at kimyena@handong.edu

แŒฅแ‹ซแ‰„ แŠซแˆ‹แ‰ฝแˆ แŠฅแ‹šแˆ… แˆ‹แ‹ญ แˆ›แ‰…แˆจแ‰ฅ แ‰ตแ‰ฝแˆ‹แˆ‹แ‰ฝแˆ  ๐Ÿƒโ€โ™‚๏ธ๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡

โš—๏ธโš—๏ธ@Aastu_poll_and_quiz_botโš—๏ธโš—๏ธ

โ˜๏ธโ˜๏ธโ˜๏ธโ˜๏ธโ˜๏ธโ˜๏ธโ˜๏ธโ˜๏ธโ˜๏ธโ˜๏ธโ˜๏ธโ˜๏ธ

   ๐Ÿ“ค๐Ÿ“ค๐Ÿ“•๐Ÿ“•๐Ÿ“•๐Ÿ“•๐Ÿ“•๐Ÿ“•๐Ÿ“•๐Ÿ“ค๐Ÿ“ค
   ๐Ÿ“Š๐Ÿ“Š๐Ÿ“š  @Aastu_poll   ๐Ÿ“Š๐Ÿ“Š
   ๐Ÿ“Š๐Ÿ“Š๐Ÿ“š  @Aastu_poll   ๐Ÿ“Š๐Ÿ“Š
   ๐Ÿ“Š๐Ÿ“Š๐Ÿ“š  @Aastu_poll  ๐Ÿ“Š๐Ÿ“Š
   ๐Ÿ“Š๐Ÿ“Š ๐Ÿ“’๐Ÿ“’๐Ÿ“’๐Ÿ“’๐Ÿ“’๐Ÿ“’๐Ÿ“Š๐Ÿ“Š
๐Ÿ‘1
Calling All AASTU Students: Join UniHack 2025!


Are you ready to innovate, solve challenges, and showcase your skills? UniHack 2025 is exclusively for AASTU students, offering you the platform to turn your ideas into impactful projects.

๐Ÿ—“ Event Date: February 19, 2025
๐Ÿ“ Venue: Old graduation hall(AASTU)
๐ŸŒ Apply Now: LINK

Who Can Apply?

This event is exclusively for AASTU students from any department. Whether youโ€™re a coder, designer, or idea generator, thereโ€™s a place for you at UniHack!

Donโ€™t miss this incredible opportunity to represent AASTUโ€™s innovation and talent.

๐Ÿ“Œ Visit our Website LINK for more details and to apply.

Spaces are limited, so apply today and get ready to innovate!
๐Ÿ‘2
Check your emails๐Ÿšจ


A2SV is sending acceptance emails for G6 In person Education๐ŸŽ‰๐ŸŽ‰

#A2SVInPersonEducation #G6
@AceCoding
๐ŸŽ‰3