From da24651f4962d8ab8a093c69c3020100c1f837a2 Mon Sep 17 00:00:00 2001 From: ritusoni2298 Date: Mon, 3 Feb 2020 14:23:51 -0500 Subject: [PATCH 1/3] first commit --- JAVA/src/first_non_repeating_code.java | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 JAVA/src/first_non_repeating_code.java diff --git a/JAVA/src/first_non_repeating_code.java b/JAVA/src/first_non_repeating_code.java new file mode 100644 index 0000000..fb1eaf9 --- /dev/null +++ b/JAVA/src/first_non_repeating_code.java @@ -0,0 +1,33 @@ +import java.util.*; +public class first_non_repeating_code { + public static char firstNonRepeatedCharacter(String word) { + HashMap scoreboard = new HashMap<>(); + for (int i = 0; i < word.length(); i++) + { + char c = word.charAt(i); + if (scoreboard.containsKey(c)) + { + scoreboard.put(c, scoreboard.get(c) + 1); + } + else + { scoreboard.put(c, 1); + } + } + for (int i = 0; i < word.length(); i++) { + char c = word.charAt(i); + if (scoreboard.get(c) == 1) + { return c; } + + } + throw new RuntimeException("Undefined behaviour"); + + } + public static void main (String[] args) { + try{ + System.out.println(firstNonRepeatedCharacter("aabbbbbccfffffgghh")); + }catch(RuntimeException e){ + System.out.println("no non repeating value exists"); + } + + } +} From 025c062322231b7471cbe70945c49e4baf3c26c7 Mon Sep 17 00:00:00 2001 From: ritusoni2298 Date: Mon, 3 Feb 2020 14:28:30 -0500 Subject: [PATCH 2/3] first commit --- .idea/.gitignore | 2 ++ .idea/.name | 1 + .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ JAVA_CODES.iml | 11 +++++++++++ 6 files changed, 34 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 JAVA_CODES.iml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..e7e9d11 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..d03559d --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +JAVA_CODES \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..e0844bc --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..b9a5bd0 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/JAVA_CODES.iml b/JAVA_CODES.iml new file mode 100644 index 0000000..a9bade1 --- /dev/null +++ b/JAVA_CODES.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file From 7dab412c6f456684c59e250da6c37b8f6dc8bead Mon Sep 17 00:00:00 2001 From: ritusoni2298 Date: Mon, 3 Feb 2020 14:32:46 -0500 Subject: [PATCH 3/3] changes updated --- Rishabh/.DS_Store | Bin 8196 -> 0 bytes Rishabh/Prime_No_Upto_N.py | 29 ------- Rishabh/README.md | 1 - Rishabh/README.rst | 102 ------------------------- Rishabh/Reverse_Alternate_2.py | 9 --- Rishabh/String_Int_Special.py | 45 ----------- Rishabh/binary_number_sort.py | 17 ----- Rishabh/bubble_sort.py | 22 ------ Rishabh/compress_k_words.py | 38 --------- Rishabh/customer_island.py | 14 ---- Rishabh/email_scrap.py | 127 ------------------------------- Rishabh/fizzbuzz.py | 28 ------- Rishabh/ideal_prime_factors.py | 93 ---------------------- Rishabh/iot.png | Bin 75136 -> 0 bytes Rishabh/least_common.py | 23 ------ Rishabh/mini.py | 12 --- Rishabh/nested_list_to_single.py | 3 - Rishabh/pair_sum.py | 28 ------- Rishabh/palin_temp.py | 47 ------------ Rishabh/palindrome_creator.py | 19 ----- Rishabh/pytr.py | 17 ----- Rishabh/re_remove_dash_string.py | 8 -- Rishabh/reverse_word_by_word.py | 3 - Rishabh/spiral_draw.py | 11 --- Rishabh/traverse_by_index.py | 44 ----------- Rishabh/unique_emails.py | 14 ---- Rishabh/word_char_sort.py | 53 ------------- Rishabh/word_char_sort_split.py | 73 ------------------ 28 files changed, 880 deletions(-) delete mode 100644 Rishabh/.DS_Store delete mode 100644 Rishabh/Prime_No_Upto_N.py delete mode 100644 Rishabh/README.md delete mode 100644 Rishabh/README.rst delete mode 100644 Rishabh/Reverse_Alternate_2.py delete mode 100644 Rishabh/String_Int_Special.py delete mode 100644 Rishabh/binary_number_sort.py delete mode 100644 Rishabh/bubble_sort.py delete mode 100644 Rishabh/compress_k_words.py delete mode 100644 Rishabh/customer_island.py delete mode 100644 Rishabh/email_scrap.py delete mode 100644 Rishabh/fizzbuzz.py delete mode 100644 Rishabh/ideal_prime_factors.py delete mode 100644 Rishabh/iot.png delete mode 100644 Rishabh/least_common.py delete mode 100644 Rishabh/mini.py delete mode 100644 Rishabh/nested_list_to_single.py delete mode 100644 Rishabh/pair_sum.py delete mode 100644 Rishabh/palin_temp.py delete mode 100644 Rishabh/palindrome_creator.py delete mode 100644 Rishabh/pytr.py delete mode 100644 Rishabh/re_remove_dash_string.py delete mode 100644 Rishabh/reverse_word_by_word.py delete mode 100644 Rishabh/spiral_draw.py delete mode 100644 Rishabh/traverse_by_index.py delete mode 100644 Rishabh/unique_emails.py delete mode 100644 Rishabh/word_char_sort.py delete mode 100644 Rishabh/word_char_sort_split.py diff --git a/Rishabh/.DS_Store b/Rishabh/.DS_Store deleted file mode 100644 index d1129599bda5ee4fd4b7e7559bd9636162f2e3d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMO>fgc5S@ieDMW-&NE?ZZe?cYq1!Zc1BI zGQA)~*U|38n|(90Z^pYCM?~D=GJhk|7Ljc<%4QwiZ!Z4MR=FO9k=Kw8c#)Z0N-ASn z%BV6s4nzhb1CfEqKx7~?@GmfcGn?1;9p}FPHTIE#$iRbSfcry&M%f8+<)v;N=(GfY z+`_P4_>MY2F-ee}AXi>06gqwN-~!Zz62o~oeor_ZvJ>RWOAi<4;o^d27b+B|)`3fO zy10&)v5yQy2C59Oc5g{v3RLacjrzSWL)@n_mkH!T_GK!U$K_lmRS_U}XmE9G_G^qkU8RIqoeU>_E#Ba~G=1ub{wviPeoIH|c1={s{96 zptyzsJj&pg#eQ8*f%}dRnV__wc7e%ZHB*aZpnwNt@DyVMUCqqMKn>VQh}T%oHbm^X zMk-Ur(hz|W@MDwTHF(L)DNM85n90a4(C1iN2^{ZIT_2gIt~2$>!de|MVU&E9@|}|f z^-NK;Jyy$%wJo--Ysef{nXQZw^MkQt&dp3d?8tk}T*vqXxKutuJ2j+oV$xB={7WEg z7TfA$sy*ZTRXxw)^<2(jlX0L&@(r2x^cI5oyx4%*1!kze zayGd>Kz1;HX7H4ZbL_3j<2_wF*S*%Y-dR#St9);{zPGHu0e_~Nd;XbaK4j2f!M3D# zjqOy9u@*iBJ!l*vn+j+uO`2Y*p6mugel3h7ca#g0o+kDxKE+=k$>^{B&$jEnxZ;ja z!#VuF@5!JLMFPcW63PLL}vF@o!_zX*uuf3 2 not prime - return False - - # factor can be no larger than the square root of num - for i in range(3, int(num ** .5 + 1), 2): - if not num % i: return False - return True - - - -def generatePrimes(n): - - primes = [2,] - noOfPrimes = 1 - testNum = 3 - while noOfPrimes < n: - if isPrime(testNum): - primes.append(testNum) - noOfPrimes += 1 - testNum += 2 - - return primes - -#Make Driver Code diff --git a/Rishabh/README.md b/Rishabh/README.md deleted file mode 100644 index efffdb3..0000000 --- a/Rishabh/README.md +++ /dev/null @@ -1 +0,0 @@ -# Coding_Exercises \ No newline at end of file diff --git a/Rishabh/README.rst b/Rishabh/README.rst deleted file mode 100644 index dd81634..0000000 --- a/Rishabh/README.rst +++ /dev/null @@ -1,102 +0,0 @@ -Python FedEx SOAP API Module -============================ - -.. image:: https://badge.fury.io/py/fedex.svg - :target: https://badge.fury.io/py/fedex - -.. image:: https://travis-ci.org/python-fedex-devs/python-fedex.svg?branch=master - :target: https://travis-ci.org/python-fedex-devs/python-fedex - -.. image:: https://requires.io/github/python-fedex-devs/python-fedex/requirements.svg?branch=master - :target: https://requires.io/github/python-fedex-devs/python-fedex/requirements/?branch=master - :alt: Requirements Status - -.. image:: https://readthedocs.org/projects/python-fedex/badge/?version=latest - :target: http://python-fedex.readthedocs.org/en/latest/?badge=latest - :alt: Documentation Status - -:Author: Greg Taylor, Radek Wojcik -:Maintainer: Python FedEx Developers -:License: BSD -:Status: Stable - -What is it? ------------ - -A light wrapper around FedEx's Webservice Soap API. We don't do much of any -validation, but we'll help you sort through the pile of SOAP objects FedEx -uses. - -Installation ------------- - -The easiest way is via pip or easy_install:: - - pip install fedex - -Start Quickly ------------ - -- Clone this repository. - -- Edit the `example_config.py` file in See `examples/ `_ with your fedex credentials -and run any of the provided examples. - -Documentation -------------- - -Refer to the documentation_ for more details on the project. Latest doc builds -are found in docs_ and doc build scripts in doc_source_. Sphinx documentation is in doc_src_. - -There are also a lot of useful examples under the examples directory within -this directory. - -Support -------- - -Issues & Questions: https://github.com/gtaylor/python-fedex/issues - -Most problems are going to require investigation or a submitted -pull request by someone from the Python FedEx Developers organization. -To contribute a new feature or service, feel free to create a pull request. -We are always looking for new contributors to help maintain the project. - -Fedex Support and Documentation -------------------------------- - -Fedex Support Email: websupport@fedex.com - -Developer Portal: http://www.fedex.com/us/developer/ - -Updates To Services: https://www.fedex.com/us/developer/web-services/process.html (FedEx Web Services Announcements) - - -Related Projects ----------------- - -- FedEx Commercial Invoice Generation, see https://github.com/radzhome/fedex-commercial-invoice - -Todos ------ - -- Increase service specific request validation -- Remove deprecated services (package movement service) -- Pickup service unit tests - -Legal ------ - -Copyright (C) 2008-2015 Greg Taylor - -Copyright (C) 2015-2016 Python FedEx Developers - -This software is licensed under the BSD License. - -python-fedex is not authored by, endorsed by, or in any way affiliated with -FedEx. - -.. _documentation: https://readthedocs.org/projects/python-fedex/ -.. _documentation2: https://pythonhosted.org/fedex/ -.. _docs: docs/ -.. _doc_source: doc_source/ -.. _doc_src: doc_src/ diff --git a/Rishabh/Reverse_Alternate_2.py b/Rishabh/Reverse_Alternate_2.py deleted file mode 100644 index c321b6f..0000000 --- a/Rishabh/Reverse_Alternate_2.py +++ /dev/null @@ -1,9 +0,0 @@ -def reverseStr( s, k): - a = list(s) - for i in range(0, len(a), 2*k): - a[i:i+k] = reversed(a[i:i+k]) - return "".join(a) - -Input --> "abcdefg" -Output --> "bacdfeg" -when s="abcdefg" , k=2 diff --git a/Rishabh/String_Int_Special.py b/Rishabh/String_Int_Special.py deleted file mode 100644 index 3c568ca..0000000 --- a/Rishabh/String_Int_Special.py +++ /dev/null @@ -1,45 +0,0 @@ -import re -x="ab2@/3cd7ef9" #fe97dc3ba2 -#x="zx32hgf78lk" -l_x=[] -for i in x: - l_x.append(i) -#l_x=x.split() -#print(l_x) - -s_c_l=re.findall('[^A-Za-z0-9]',x) -print(s_c_l) -temp=[] -for i in range(0,len(l_x)): - if(x[i].isdigit()): - for j in range(len(l_x)-1,-1,-1): - if(l_x[j].isdigit()): - temp.append(l_x.pop(j)) - #l_x.pop(j) - break - #print("True") - else: - for k in range(len(l_x)-1,-1,-1): - #print(l_x) - if(l_x[k].isalpha()): - temp.append(l_x.pop(k)) - #l_x.pop(k) - break - #print("False") - -print(temp) - -t_l=[] -for i in s_c_l: - count=0 - for j in x: - count=count+1 - if(i==j): - t_l.append(count) - break -#print(l_x) -print(t_l) -for i in t_l: - temp.insert(t_l[i-1],s_c_l[i]) - -print(temp) \ No newline at end of file diff --git a/Rishabh/binary_number_sort.py b/Rishabh/binary_number_sort.py deleted file mode 100644 index 7397c1e..0000000 --- a/Rishabh/binary_number_sort.py +++ /dev/null @@ -1,17 +0,0 @@ -a = [0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0] -#j = -1 -a1=[] -'''for i in range(len(a)): - if a[i] < 1: - j = j + 1 - a[i], a[j] = a[j], a[i]''' - - -while a: - #print("hv") - small=min(a) - a1.append(small) - #print ("sdff") - a.pop(a.index(small)) - -print(a1) diff --git a/Rishabh/bubble_sort.py b/Rishabh/bubble_sort.py deleted file mode 100644 index fad77de..0000000 --- a/Rishabh/bubble_sort.py +++ /dev/null @@ -1,22 +0,0 @@ -def bubble_sort(arr): - def swap(i, j): - arr[i], arr[j] = arr[j], arr[i] - - n = len(arr) - swapped = True - - x = -1 - while swapped: - swapped = False - x = x + 1 - for i in range(1, n-x): - if arr[i - 1] > arr[i]: - swap(i - 1, i) - swapped = True - - return arr - - -for i in range() -l=["ccab"] -res=bubble_sort(l[0]) diff --git a/Rishabh/compress_k_words.py b/Rishabh/compress_k_words.py deleted file mode 100644 index 3d79c41..0000000 --- a/Rishabh/compress_k_words.py +++ /dev/null @@ -1,38 +0,0 @@ -# A function which will take two arguements, the string and number -# of consecutive charecters to be compressed. -def compressWord(word): - #initializing a empty result string so that we can concatenate our resultant string. - res = "" - #initial value of i is 0 so that we can check the consecutiveness from starting. - i = 0 - k=2 - while i < len(word): - # it will run starting from the first element of string to the last element of string. - if i < len(word) - (k-1) and [True for j in range(5,0,-1) if word[i]*(k+j) == word[i:i+k+j]]: - #if stmt i 2: - prime_factors.add(n) - return prime_factors - -def factor_of_three_and_five(first,last): - #initializing value of count with 0 so that we can count ideal prime factors. - count = 0 - # empty list for three and five div - three_and_fives_div =[] - #loop will run starting from the first arguement to last arguement - for i in range(first,last+1): - #it will check whether the i is a multiple of 3 or 5 or not. - if (i%3==0) or (i%5==0): - # if i is a multiple of 3 or 5 then pass it to the primeFactors function defined - #above - prime_factors = primeFactors(i) - - # there are two primeFactors, so we will check whether we have two or less than - # two - if len(set(prime_factors)) <= 2: - # check whether we have 1 prime factor - if len(set(prime_factors)) == 1: - # if yes than just increment the count variable - if (3 in prime_factors) or (5 in prime_factors): - count += 1 - # if not equal to 1 then check whether that set has these elemnts or not - # but to check we have a sorted list that's why we are converting the - # returned set sorted list and again increment count if yes - elif (sorted(list(set(prime_factors))) == [3,5]): - count +=1 - - - - - - # if 1 in range(first,last+1): - # count += 1 - #just return value of count - return count - - -f = factor_of_three_and_five(200,405) -print(f) - - - - - - - -# string="aaabbccaaee" -# lst=list(string) -# #print(lst) -# count=1 -# ls=[] -# for i in range(len(lst)): -# if i+1 == len(lst): -# # print(lst[i]," ",count," ",i) -# ls.append((lst[i],count))#dict[lst[i]]=count -# if i+1 < len(lst): -# if lst[i] == lst[i+1]: -# count=count+1 -# #print(i,count,lst[i]) -# continue -# else: -# ls.append((lst[i],count))#dict[lst[i]]=count -# count=1 -# #print(i,lst[i],count,ls) -# continue -# # print(ls) -# for i in ls: -# print(i[0],i[1],sep="",end="") diff --git a/Rishabh/iot.png b/Rishabh/iot.png deleted file mode 100644 index b5dd0d9087710f6d0cb21c2ac3e19ba3007a06a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75136 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: -# t_l.insert(0,i) -# max = temp[i] -# # print(max) - -# print(t_l[0]) -# print(t_l) - -print(temp) -for k,v in temp: - print(k,v) \ No newline at end of file diff --git a/Rishabh/mini.py b/Rishabh/mini.py deleted file mode 100644 index 684a457..0000000 --- a/Rishabh/mini.py +++ /dev/null @@ -1,12 +0,0 @@ -def minimum(x): - mini = x[0] - for i in x[0:]: - if i < mini: - mini = i - return mini - - - -x=[5,1,3,9,4,2] -res=minimum(x) -print(res) diff --git a/Rishabh/nested_list_to_single.py b/Rishabh/nested_list_to_single.py deleted file mode 100644 index 4d1724d..0000000 --- a/Rishabh/nested_list_to_single.py +++ /dev/null @@ -1,3 +0,0 @@ -import itertools -a = [[1, 2], [3, 4], [5, 6]] -print(list(itertools.chain.from_iterable(a))) \ No newline at end of file diff --git a/Rishabh/pair_sum.py b/Rishabh/pair_sum.py deleted file mode 100644 index 3c9ca7a..0000000 --- a/Rishabh/pair_sum.py +++ /dev/null @@ -1,28 +0,0 @@ -list= [1,3,5,6,2,8,9,2,5] -temp = [] -target=10 -l=len(list) -hash = set() - -def order_of_n2(list,l,target): - for i in range(l): - for j in range(i+1,l): - if(list[i]+list[j] == target): - temp.append(tuple([list[i],list[j]])) - - - - - -def order_of_logn(list,l,target): - for i in range(l): - temp_var = target - list[i] - if(temp_var in hash): - #print("Found") - temp.append(tuple([temp_var,list[i]])) - hash.add(list[i]) - - -order_of_logn(list,l,target) -order_of_n2(list,l,target) -print(temp) diff --git a/Rishabh/palin_temp.py b/Rishabh/palin_temp.py deleted file mode 100644 index b5d55b9..0000000 --- a/Rishabh/palin_temp.py +++ /dev/null @@ -1,47 +0,0 @@ - -from collections import Counter -while True: - - str = list(input("Please enter the string to check\n")) - if str == str[::-1]: - print("".join(str), "Is already palindrome") - else: - c = Counter(list(str)) - # print(c) - tt = [] - for k in str: - if k not in tt: - tt.append(k) - # st = set(str) - temp_l=[] - for i in list(tt): - # print(c[i]) - if c[i]in [j for j in range(0,22) if j%2 !=0]:# == 1 or c[i]==3 or c[i]==5: - if str[len(str)//2] == i: - # print("ig",i) - pass - else: - # print("el") - temp_l.append(i) - # print(str) - str.remove(i) - # print(str) - - - # print(temp_l) - # print(str[::-1]) - # print(str) - if str == str[::-1]: - pass - else: - temp_l.append(str[len(str)//2-1]) - # To make a palindrome - # temp = str[len(str)//2] - # str[len(str)//2] = str[len(str)//2-1] - # str[len(str)//2-1] = temp - # print(str) - if len(str)<3: - print("not possible") - else: - print("Items to be deleted: ", temp_l) - print("Palindrome is:","".join(str)) diff --git a/Rishabh/palindrome_creator.py b/Rishabh/palindrome_creator.py deleted file mode 100644 index d370007..0000000 --- a/Rishabh/palindrome_creator.py +++ /dev/null @@ -1,19 +0,0 @@ -str = "eabcba" - - -def PalindromeCreator(str): - temp_l=[] - n = len(str) - rev=list(reversed(str)) - print(rev,list(str)) - for i in range(n-1): - if(str[i] == rev[i]): - pass - else: - if(str[i] == rev[i+1]): - temp_l.append(str[i]) - else: - temp_l.append(rev[i]) - print(temp_l) - -PalindromeCreator(str) diff --git a/Rishabh/pytr.py b/Rishabh/pytr.py deleted file mode 100644 index 945a729..0000000 --- a/Rishabh/pytr.py +++ /dev/null @@ -1,17 +0,0 @@ -string=input("Enter string:") -if(string!=string[::-1]): - s=set() - for i in string: - - if i not in s: - s.add(i) - - else: - s.remove(i) - - s1=" ".join(map(str,(i for i in s))) - print(s1) - - -else: - print("The string a palindrome") \ No newline at end of file diff --git a/Rishabh/re_remove_dash_string.py b/Rishabh/re_remove_dash_string.py deleted file mode 100644 index 5f2a70e..0000000 --- a/Rishabh/re_remove_dash_string.py +++ /dev/null @@ -1,8 +0,0 @@ -Fecth out the integers without hyphen and integers -import re - - -str = "11-22-33-44 trdtyj yutuyik" - -d=(re.findall('\d+',str)) -print(''.join(d)) diff --git a/Rishabh/reverse_word_by_word.py b/Rishabh/reverse_word_by_word.py deleted file mode 100644 index 3d712e5..0000000 --- a/Rishabh/reverse_word_by_word.py +++ /dev/null @@ -1,3 +0,0 @@ -new = s.strip() --> strip function will remove trailing and leading whitespaces in a string. -new = new.split( ) -- > split will convert the string to list. Did this so that I can revrese list using ::-1 slice -return ' '.join(new[::-1]) --> join function will convert the reversed list back to string. diff --git a/Rishabh/spiral_draw.py b/Rishabh/spiral_draw.py deleted file mode 100644 index 16075c5..0000000 --- a/Rishabh/spiral_draw.py +++ /dev/null @@ -1,11 +0,0 @@ -import pyautogui, time -time.sleep(5) -pyautogui.click() # click to put drawing program in focus -distance = 200 -while distance > 0: - pyautogui.dragRel(distance, 0, duration=0.2) # move right - distance = distance - 2.5 - pyautogui.dragRel(0, distance, duration=0.2) # move down - pyautogui.dragRel(-distance, 0, duration=0.2) # move left - distance = distance - 2.5 - pyautogui.dragRel(0, -distance, duration=0.2) # move up \ No newline at end of file diff --git a/Rishabh/traverse_by_index.py b/Rishabh/traverse_by_index.py deleted file mode 100644 index 3e9089b..0000000 --- a/Rishabh/traverse_by_index.py +++ /dev/null @@ -1,44 +0,0 @@ -#rl = [2,8,14,1,10,5,2,12,4,0] -input_string = input("Eneter numbers") -r = input_string.split() -# rl = list(map(int,input_string)) -rl = [int(i) for i in r] -# print(rl) -l=len(rl) -count=0 -temps=[] -c=0 -while True: - if(rl[count]>= len(rl)): - # print("ini") - - temps.append(rl.pop(count)) - count = count + 1 - # print(count) - # print(rl) - # print(temps) - #print(temp) - - - temp=rl[count] - count=rl[temp] - if(count==temp): - print("Same Index"+str(count)+str(temp)) - break - #print(rl[count]) - #break - if(count >= len(rl)): - #var1 = rl.index(count) - temps.append(rl.pop(temp)) - count = temp + 1 - # print(count) - # print(temps) - # print(rl) - c=c+1 - if(c>l): - # print("Nothing to match") - break - -print("Original List Elements = "+str(rl)) -print("Out of Index Elements "+str(temps)) -print("Number of Execution = "+ str(c)) \ No newline at end of file diff --git a/Rishabh/unique_emails.py b/Rishabh/unique_emails.py deleted file mode 100644 index d817423..0000000 --- a/Rishabh/unique_emails.py +++ /dev/null @@ -1,14 +0,0 @@ - -def UniqueEmails(email_list): - unique_one = set() - for email in email_list: - before, after = email.split('@') - if '+' in before: - before = before[:before.index('+')] - unique_one.add(before.replace('.','') + '@' + after) - return len(unique_one),unique_one - - -input_list = ["test.email+alex@leetcode.com","test.e.mail+bob.cathy@leetcode.com","testemail+david@lee.tcode.com"] -uni_set = UniqueEmails(input_list) -print(uni_set) \ No newline at end of file diff --git a/Rishabh/word_char_sort.py b/Rishabh/word_char_sort.py deleted file mode 100644 index df832ec..0000000 --- a/Rishabh/word_char_sort.py +++ /dev/null @@ -1,53 +0,0 @@ -#This Section will sort the list of word alphabetically in a way that each charecter will be sorted. -# I/p=["aba","cbc","cab","babc"] -# O/p=["aab","abbc","abc","bcc"] -#----------------------SECTION 1 ------------------------------- -'''main_list = ["aba","cbc","cab","babc"] -word = [] -char = [] -temp_list = [] -temp_list1 = [] - -while main_list: - small = min(main_list) - word.append(small) - main_list.pop(main_list.index(small)) - -print(word) - - - -for i in range(0,len(word)): - for j in word[i]: - temp_list.append(j) - #print(temp_list) - #temp_list.clear() - - while temp_list: - small=min(temp_list) - temp_list1.append(small) - temp_list.pop(temp_list.index(small)) - char.append(''.join(temp_list1)) - temp_list1.clear() - - -print(char) -''' - -# This section will split a string in words so that we can use in sorting -# I/p="This is my name" -# O/p=["This","is","my","name"] - -str="This is my name" -main_list=[] -str_temp_list=[] -for i in str: - if(ord(i) == ord(" ")): - main_list.append(''.join(str_temp_list)) - str_temp_list.clear() - - else: - str_temp_list.append(i) -main_list.append(''.join(str_temp_list)) -str_temp_list.clear() -print(main_list) diff --git a/Rishabh/word_char_sort_split.py b/Rishabh/word_char_sort_split.py deleted file mode 100644 index 91c7ea5..0000000 --- a/Rishabh/word_char_sort_split.py +++ /dev/null @@ -1,73 +0,0 @@ -#This Section will sort the list of word alphabetically in a way that each charecter will be sorted. -# I/p=["aba","cbc","cab","babc"] -# O/p=["aab","abbc","abc","bcc"] -#----------------------GLOBAL DEFINITIONS ------------------------------- -#main_list = ["aba","cbc","cab","babc"] -main_list=[] -word = [] -char = [] -temp_list = [] -temp_list1 = [] -str=input("Please input your String.") - -#----------------------MINIMUM FUNCTION----------------------------------- -def minimum(x): - mini = x[0] - for i in x: - if i < mini: - mini = i - return mini -#---------------------WORD AND CHAR SORT FUNCTION------------------------- -def sort_string(): - print() - while main_list: - small = minimum(main_list) - word.append(small) - main_list.pop(main_list.index(small)) - - print("Words after Sorting\n",word) - - - - for i in range(0,len(word)): - for j in word[i]: - temp_list.append(j) - #print(temp_list) - #temp_list.clear() - - while temp_list: - small=minimum(temp_list) - temp_list1.append(small) - temp_list.pop(temp_list.index(small)) - char.append(''.join(temp_list1)) - temp_list1.clear() - - - print("Charecters after Sorting:\n",char) - - -# This section will split a string in words so that we can use in sorting -# I/p="This is my name" -# O/p=["This","is","my","name"] -#-----------------------------SPLITTING STRING------------------------ -def split_string(): - #str="This is my name" - #main_list=[] - str_temp_list=[] - count=0 - for i in str: - count = count + 1 - if(ord(i) == ord(" ") or count == (len(str))): - main_list.append(''.join(str_temp_list)) - str_temp_list.clear() - - else: - str_temp_list.append(i) - #main_list.append(''.join(str_temp_list)) - #str_temp_list.clear() - print("Splitted String:\n",main_list) - - - -split_string() -sort_string()