Untitled

 avatar
unknown
python
a year ago
3.6 kB
7
Indexable

def sentTimes(numberofPorts, transmissionTime, packetIds):
	my_dict = {} # (port Id, timestamp to allow packet in)
	for i in range(numberofPorts):
		my_dict[i] = 0


	results = []
	for i in range(len(packetIds)):
		initial = packetIds[i] % numberofPorts
		while True:
			if my_dict[initial] < i + 1:
				results.append(initial)
				my_dict[initial] = i + transmissionTime
				break
			else:
				if initial == len(packetIds) - 1:
					initial = 0
				else:
					initial += 1

	return results


result = sentTimes(3, 2, [4, 7, 10, 6])
print("result = ", result)





def getTotalEfficiency(skill):
	total = sum(skill)
	count = len(skill)
	if count % 2 == 1:
		return -1
	
	count = int(count / 2)
	if total % count != 0:
		return -1
	
	team_sum = int(total / count)


	answer = 0
	valid_count = 0
	my_dict = {}
	for s in skill:
		if s in my_dict and my_dict[s] > 0:
			tmp = s * (team_sum - s)
			answer += tmp
			my_dict[s] -= 1
			valid_count += 1
		else:
			target = team_sum - s
			if target in my_dict:
				my_dict[target] += 1
			else:
				my_dict[target] = 1

	if count == valid_count:
		return answer
	else:
		return -1



result = getTotalEfficiency([1, 2, 3, 2])
print(result)


result = getTotalEfficiency([2, 1, 1, 4, 3, 5])
print(result)








def handleFiles(baseFilename):
	f = open(baseFilename, "r")
	all_lines = f.readlines()

	name1 = "c_" + baseFilename
	f1 = open(name1, "w")
	f1_a = open(name1, "a")

	name2 = "cpp_" + baseFilename
	f2 = open(name2, "w")
	f2_a = open(name2, "a")

	name3 = "cs_" + baseFilename
	f3 = open(name3, "w")
	f3_a = open(name3, "a")

	count1 = 0
	count2 = 0
	count3 = 0
	for line in all_lines:
		line = line.strip()
		if line.endswith(".c"):
			if count1 > 0:
				f1_a.write("\n")
			f1_a.write(line)
			count1 += 1
		elif line.endswith(".cpp"):
			if count2 > 0:
				f2_a.write("\n")
			f2_a.write(line)
			count2 += 1
		elif line.endswith(".cs"):
			if count3 > 0:
				f3_a.write("\n")
			f3_a.write(line)
			count3 += 1

	f1.close()
	f2.close()
	f3.close()
	f1_a.close()
	f2_a.close()
	f3_a.close()
	print("Done file write")



handleFiles("file_00.txt")






def maxProfit(price, profit):
    length = len(price)
    best_sum = -1
    for j in range(1, length-1):
    	best_i = -1
    	for i in range(j):
    		if price[i] < price[j]:
    			if best_i == -1 or profit[i] > profit[best_i]:
    				best_i = i

    	best_k = -1
    	for k in range(j+1, length):
    		if price[k] > price[j]:
    			if best_k == -1 or profit[k] > profit[best_k]:
    				best_k = k

    	if best_i != -1 and best_k != -1:
    		tmp = profit[best_i] + profit[j] + profit[best_k]
    		best_sum = max(best_sum, tmp)

    return best_sum




# Example usage:
price = [1, 2, 3, 4, 5]
profit = [1, 2, 3, 4, 5]
result = maxProfit(price, profit)
print("Maximum profit:", result)


price = [1, 5, 3, 4, 6]
profit = [2, 3, 4, 5, 6]
result = maxProfit(price, profit)
print("Maximum profit:", result)






def inverseNumbers(nums, updates):
	for update in updates:
		low = update[0]-1
		up = update[1]
		for i in range(low, up):
			nums[i] = nums[i] * -1

	return nums


result = inverseNumbers([1, 2, 3, 4], [[1, 2], [2, 4]])
print(result)






def getMinimumCost(arr):
	largest_diff = 0
	idx = 0
	for i in range(len(arr)-1):
		diff = abs(arr[i] - arr[i+1])
		if diff > largest_diff:
			largest_diff = diff
			idx = i

	tmp = arr[idx+1]
	arr[idx+1] = int((arr[idx] + arr[idx+1]) / 2)
	arr.append(tmp)

	cost = 0
	for i in range(len(arr)-1):
		cost += ((arr[i] - arr[i+1]) * (arr[i] - arr[i+1]))

	return cost



result = getMinimumCost([1, 3, 5, 2, 10])
print(result)















Editor is loading...