开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
binaryset.py 4.57 KB
一键复制 编辑 原始数据 按行查看 历史
4.9527 提交于 2019年12月04日 10:41 +08:00 . read chapter 9
class Set:
def __init__(self):
self._theElements = list()
def __len__(self):
return len(self._theElements)
def __contains__(self, el):
ndx = self._findPosition(el)
return ndx < len(self) and self._theElements[ndx] == el
def add(self, element):
if element not in self:
ndx = self._findPosition(element)
self._theElements.insert(ndx, element)
def remove(self, element):
assert element in self, "The element must be in the set."
ndx = self._findPosition(element)
self._theElements.pop(ndx)
def isSubsetOf(self, setB):
for element in self:
if element not in setB:
return False
return True
def __eq__(self, other):
if len(self) != len(other):
return False
else:
for i in range(len(self)):
if self._theElements[i] != other._theElements[i]:
return False
return True
def __iter__(self):
return _SetIterator(self._theElements)
def _findPosition(self, element):
low = 0
high = len(self) - 1
while low <= high:
mid = (low + high) // 2
if element == self._theElements[mid]:
return mid
elif element < self._theElements[mid]:
high = mid - 1
else :
low = mid + 1
return low
def union(self, setB):
newSet = Set()
a = 0
b = 0
while a < len(self) and b < len(setB):
valueA = self._theElements[a]
valueB = setB._theElements[b]
if valueA < valueB:
newSet._theElements.append(valueA)
a += 1
elif valueA > valueB:
newSet._theElements.append(valueB)
b += 1
else :
newSet._theElements.append(valueA)
a += 1
b += 1
while a < len(self):
newSet._theElements.append(self._theElements[a])
a += 1
while b < len(setB):
newSet._theElements.append(setB._theElements[b])
b += 1
return newSet
def isSubsetOf(self, other):
"""is subset of other set."""
selfNdx = 0
otherNdx = 0
while selfNdx < len(self) and otherNdx < len(other) :
# same value plus 1 each indx
if self._theElements[selfNdx] == other._theElements[otherNdx]:
selfNdx += 1
otherNdx += 1
# value bigger than others valuse plus one other ndx
elif self._theElements[selfNdx] > other._theElements[otherNdx]:
otherNdx += 1
# value lower than others do nothing
else :
pass
if selfNdx == len(self):
return True
else:
return False
def intersect(self, other):
intersection = Set()
selfNdx = 0
otherNdx = 0
while selfNdx < len(self) and otherNdx < len(other):
curSelfValue = self._theElements[selfNdx]
curOtherValue = other._theElements[otherNdx]
if curSelfValue == curOtherValue:
intersection.add(curSelfValue)
selfNdx += 1
otherNdx += 1
elif curSelfValue > curOtherValue:
otherNdx += 1
else:
selfNdx += 1
return intersection
def difference(self, other):
diffSet = Set()
selfNdx = 0
otherNdx = 0
while selfNdx < len(self) and otherNdx < len(other):
curSelfValue = self._theElements[selfNdx]
curOtherValue = other._theElements[otherNdx]
if curSelfValue == curOtherValue:
selfNdx += 1
otherNdx += 1
elif curSelfValue > curOtherValue:
otherNdx += 1
if otherNdx < len(other) or \
(otherNdx < len(other) and \
curSelfValue < other._theElements[otherNdx]):
diffSet.add(curSelfValue)
else:
selfNdx += 1
diffSet.add(curSelfValue)
return diffSet
class _SetIterator:
def __init__(self, elements):
self._elements = elements
self._ndx = 0
def __iter__(self):
return self
def __next__(self):
if self._ndx < len(self._elements) :
el = self._elements[self._ndx]
self._ndx += 1
return el
else :
raise StopIteration
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/nicolas4d/Data-Structures-and-Algorithms-Using-Python.git
git@gitee.com:nicolas4d/Data-Structures-and-Algorithms-Using-Python.git
nicolas4d
Data-Structures-and-Algorithms-Using-Python
Data-Structures-and-Algorithms-Using-Python
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /