{"id":24919496,"url":"https://github.com/shreyask5/daa_aat","last_synced_at":"2025-03-28T09:41:29.735Z","repository":{"id":248271138,"uuid":"828242016","full_name":"shreyask5/DAA_AAT","owner":"shreyask5","description":"Data Algorithms \u0026 Analysis AAT","archived":false,"fork":false,"pushed_at":"2024-07-13T14:58:32.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T10:19:26.900Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shreyask5.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-13T14:39:16.000Z","updated_at":"2024-07-13T14:58:35.000Z","dependencies_parsed_at":"2024-07-13T16:08:09.257Z","dependency_job_id":null,"html_url":"https://github.com/shreyask5/DAA_AAT","commit_stats":null,"previous_names":["shreyask5/daa_aat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shreyask5%2FDAA_AAT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shreyask5%2FDAA_AAT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shreyask5%2FDAA_AAT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shreyask5%2FDAA_AAT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shreyask5","download_url":"https://codeload.github.com/shreyask5/DAA_AAT/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246009029,"owners_count":20708880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-02T10:19:26.724Z","updated_at":"2025-03-28T09:41:29.707Z","avatar_url":"https://github.com/shreyask5.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DAA_AAT\nData Algorithms \u0026 Analysis AAT\n\n## Knapsack\n\n[Link to Knapsack submission](https://www.hackerrank.com/challenges/unbounded-knapsack/submissions/code/391221785)\n\n```python\n#!/bin/python3\n\nimport math\nimport os\nimport random\nimport re\nimport sys\n\n#\n# Complete the 'unboundedKnapsack' function below.\n#\n# The function is expected to return an INTEGER.\n# The function accepts following parameters:\n#  1. INTEGER k\n#  2. INTEGER_ARRAY arr\n#\n\ndef unboundedKnapsack(k, arr):\n    max_sum = [0] * (k + 1)\n    \n    for i in range(1, k + 1):\n        for num in arr:\n            if num \u003c= i:\n                max_sum[i] = max(max_sum[i], max_sum[i - num] + num)\n    \n    return max_sum[k]\n\nif __name__ == '__main__':\n    fptr = open(os.environ['OUTPUT_PATH'], 'w')\n\n    t = int(input().strip())\n\n    for _ in range(t):\n        first_multiple_input = input().rstrip().split()\n\n        n = int(first_multiple_input[0])\n        k = int(first_multiple_input[1])\n\n        arr = list(map(int, input().rstrip().split()))\n\n        result = unboundedKnapsack(k, arr)\n\n        fptr.write(str(result) + '\\n')\n\n    fptr.close()\n\n```\n\n## Cloudy Day\n\n[Link to Cloudy Day submission](https://www.hackerrank.com/challenges/cloudy-day/submissions/code/391222519)\n\n```python\n#!/bin/python3\n\nimport math\nimport os\nimport random\nimport re\nimport sys\n\n# Complete the maximumPeople function below.\nfrom collections import defaultdict\n\n\ndef maximumPeople(towns, cloud_start, cloud_end):\n    towns = sorted(towns)\n    cloud_start = sorted(cloud_start)\n    cloud_end = sorted(cloud_end)\n\n    cloud_start_i = 0\n    cloud_end_i = 0\n    clouds = set()\n\n    d = defaultdict(int)\n    free = 0\n    for town_i in range(len(towns)):\n        town_x = towns[town_i][0]\n        while cloud_start_i \u003c len(cloud_start) and cloud_start[cloud_start_i][0] \u003c= town_x:\n            clouds.add(cloud_start[cloud_start_i][1])\n            cloud_start_i += 1\n        while cloud_end_i \u003c len(cloud_end) and cloud_end[cloud_end_i][0] \u003c town_x:\n            clouds.remove(cloud_end[cloud_end_i][1])\n            cloud_end_i += 1\n        if len(clouds) == 1:\n            towns[town_i][2] = list(clouds)[0]\n            d[list(clouds)[0]] += towns[town_i][1]\n        elif len(clouds) == 0:\n            free += towns[town_i][1]\n\n    return max(d.values(), default=0) + free\n\nif __name__ == \"__main__\":\n    n = int(input().strip())\n    p = [int(x) for x in input().strip().split()]\n    x = [int(x) for x in input().strip().split()]\n    towns = [[xi, pi, -1] for xi, pi in zip(x, p)]\n    m = int(input().strip())\n    y = [int(x) for x in input().strip().split()]\n    r = [int(x) for x in input().strip().split()]\n    cloud_start = [[y[i]-r[i], i] for i in range(m)]\n    cloud_end = [[y[i]+r[i], i] for i in range(m)]\n    result = maximumPeople(towns, cloud_start, cloud_end)\n    print(result)\n\n```\n\n## QuickSort\n\n[Link to QuickSort submission](https://www.hackerrank.com/challenges/quicksort1/submissions/code/391223331)\n\n```python\n#!/bin/python3\n\nimport math\nimport os\nimport random\nimport re\nimport sys\n\n#\n# Complete the 'quickSort' function below.\n#\n# The function is expected to return an INTEGER_ARRAY.\n# The function accepts INTEGER_ARRAY arr as parameter.\n#\n\ndef quickSort(arr):\n    center = arr[0]\n    arr = sorted(arr)\n    sorted_list = [center]\n    for element in arr:\n        if element \u003c center:\n            sorted_list.insert(0, element)\n        elif element \u003e center:\n            sorted_list.insert(arr.index(element), element)\n    return sorted_list\n\nif __name__ == '__main__':\n    fptr = open(os.environ['OUTPUT_PATH'], 'w')\n\n    n = int(input().strip())\n\n    arr = list(map(int, input().rstrip().split()))\n\n    result = quickSort(arr)\n\n    fptr.write(' '.join(map(str, result)))\n    fptr.write('\\n')\n\n    fptr.close()\n```\n\n## String Construction\n\n[Link to String Construction submission](https://www.hackerrank.com/challenges/string-construction/submissions/code/391226669)\n\n```python\n#!/bin/python3\n\nimport math\nimport os\nimport random\nimport re\nimport sys\n\n#\n# Complete the 'stringConstruction' function below.\n#\n# The function is expected to return an INTEGER.\n# The function accepts STRING s as parameter.\n#\n\ndef stringConstruction(s):\n    unique_list = []\n    cost = 0\n    for char in s:\n        if char not in unique_list:\n            unique_list.append(char)\n            cost += 1\n    return cost\n\n        \n\nif __name__ == '__main__':\n    fptr = open(os.environ['OUTPUT_PATH'], 'w')\n\n    q = int(input().strip())\n\n    for q_itr in range(q):\n        s = input()\n\n        result = stringConstruction(s)\n\n        fptr.write(str(result) + '\\n')\n\n    fptr.close()\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshreyask5%2Fdaa_aat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshreyask5%2Fdaa_aat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshreyask5%2Fdaa_aat/lists"}