From 1bad4bb3c4c745e26b67d3aaf4694142c598bf6d Mon Sep 17 00:00:00 2001 From: Louis Date: Mon, 4 Dec 2023 14:19:24 +0100 Subject: [PATCH] course update of 2023-12-04 14:19:24 --- Algo/B2/Exercises/String exercise.md | 49 ++++++++++++++++------------ 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/Algo/B2/Exercises/String exercise.md b/Algo/B2/Exercises/String exercise.md index 2c241ee..4976134 100644 --- a/Algo/B2/Exercises/String exercise.md +++ b/Algo/B2/Exercises/String exercise.md @@ -79,6 +79,7 @@ def ispalind(s): ```python def dec_to_bin(n, p): + s = "" while n > 0: s = str(n%2) +s n = n//2 @@ -88,27 +89,14 @@ def dec_to_bin(n, p): def integer_to_twoscomp(n, p): if n < 0: - sign = -2 - else: - sign = 1 - s = dec_to_bin(n, p) - if sign == -1: - s2 = "" - i = len(s) - 1 - while s[i] != "1": - s2 = "0" + s2 - i -= 1 - s2 = "1" + s2 - i -= 1 - while i >= 0: - if s[i] == "0": - s2 = "1" + s2 - else: - s3 = "0" + s3 - i -= 1 - s = s2 - return s - + n = power(2, p) + n + return dec_to_bin(n, p) + +def bin_to_dec(s): + n = 0 + for b in s: + n = n * 2 + int(b) + return b ``` 2) @@ -127,3 +115,22 @@ def int_to_twoscomp(n, p): return dec_to_bin(n,p) ``` +## Exercise 2.2 (Frequency) + +```python +def frequency(s: string): + count = 0 + countInter = 0 + elementMax = "" + index = 0 + foreach elem in s: + for i in range(index, lenght(s)): + if s[i] == elem: + countInter += 1 + if countInter > count: + count = countInter + elementMax = elem + index += 1 + return (cout, elementMax) +``` +