MCPcopy Index your code
hub / github.com/geekcomputers/Python / feasible

Method feasible

Job_scheduling.py:42–86  ·  view source on GitHub ↗

Parameters : list of current profitable jobs within deadline list of deadline of jobs Returns : true if k[-1] job is profitable to us else false >>> a = Scheduling([(0, 13, 10),(1, 2, 20),(2, 33, 30),(3, 16, 40)]) >>> a.feasible( [0], [2, 13, 16,

(self, profit_jobs: List[int], deadline: List[int])

Source from the content-addressed store, hash-verified

40 return self.j
41
42 def feasible(self, profit_jobs: List[int], deadline: List[int]) -> bool:
43 """
44 Parameters : list of current profitable jobs within deadline
45 list of deadline of jobs
46 Returns : true if k[-1] job is profitable to us else false
47 >>> a = Scheduling([(0, 13, 10),(1, 2, 20),(2, 33, 30),(3, 16, 40)])
48 >>> a.feasible( [0], [2, 13, 16, 33] )
49 True
50 >>> a = Scheduling([(0, 13, 10),(1, 2, 20),(2, 33, 30),(3, 16, 40)])
51 >>> a.feasible([0], [2, 13, 16, 33] )
52 True
53 """
54
55 self.tmp = profit_jobs
56 self.is_feasible = True
57
58 i = 0
59 j = 1
60 k = 0
61
62 while i < len(self.tmp):
63 while j < len(self.tmp):
64 self.index1 = self.jobs.index(self.tmp[i])
65 self.index2 = self.jobs.index(self.tmp[j])
66 j += 1
67 if deadline[self.index1] > deadline[self.index2]:
68 (self.tmp[i], self.tmp[j]) = (
69 self.tmp[j],
70 self.tmp[i],
71 )
72 i += 1
73
74 while k < len(self.tmp):
75 self.job = self.tmp[k]
76 if self.job in self.jobs:
77 self.jobindex = self.jobs.index(self.job)
78 else:
79 self.jobindex = 0
80 self.dlineval = deadline[self.jobindex]
81 self.ftest = k + 1
82 k += 1
83 if self.dlineval < self.ftest:
84 self.is_feasible = False
85 break
86 return self.is_feasible
87
88
89def main():

Callers 1

scheduleMethod · 0.95

Calls 1

indexMethod · 0.45

Tested by

no test coverage detected