当前位置: 首页 > news >正文

大型门户网站建设是什么网站的哪些标签需要优化

大型门户网站建设是什么,网站的哪些标签需要优化,专门帮做ppt的网站,上海互联网公司有哪些目录 一、13. 罗马数字转整数 贪心 二、16. 最接近的三数之和 排序指针 三、17. 电话号码的字母组合 dfs(深度优先搜索) 四、19. 删除链表的倒数第 N 个结点 1.模拟 2.前后同步指针 五、20. 有效的括号 栈 六、21. 合并两个有序链表 1.递归 …

目录

一、13. 罗马数字转整数

贪心

二、16. 最接近的三数之和

排序+指针

 三、17. 电话号码的字母组合

dfs(深度优先搜索)

四、19. 删除链表的倒数第 N 个结点

1.模拟

2.前后同步指针

五、20. 有效的括号

六、21. 合并两个有序链表

1.递归

2.迭代


一、13. 罗马数字转整数

贪心

class Solution:dict = {'I': 1, 'V': 5,'X': 10, 'L': 50,'C': 100, 'D': 500,'M': 1000}def romanToInt(self, s: str) -> int:# 贪心,若前面小于后面就相减n = len(s)ans = 0for i in range(n):if i == n - 1 or Solution.dict[s[i]] >= Solution.dict[s[i + 1]]:ans += Solution.dict[s[i]]else:ans -= Solution.dict[s[i]]return ans

二、16. 最接近的三数之和

排序+指针

又重新写了一遍这道题

class Solution:def threeSumClosest(self, nums: List[int], target: int):# 排序+ 指针nums.sort()if sum(nums[-3:]) <= target:return sum(nums[-3:])if sum(nums[:3]) >= target:return sum(nums[:3])ans1, ans2 = -math.inf, math.inf    # 左右区域n = len(nums)for i in range(n - 2):x = nums[i]if x + nums[-2] + nums[-1] <= ans1 or \x + nums[i + 1] + nums[i + 2] >= ans2:# 剪枝# 最大值小于等于左端点# 最小值大于等于右端点continuej, k = i + 1, n - 1while j < k:cur = x + nums[j] + nums[k]if cur == target:return targetelif cur > target:ans2 = min(ans2, cur)k -= 1else:ans1 = max(ans1, cur)j += 1return ans1 if target - ans1 < ans2 - target else ans2

 三、17. 电话号码的字母组合

dfs(深度优先搜索)

来自灵神题解(. - 力扣(LeetCode)),完全没想到。

MAPPING = "", "", "abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"
# 元组class Solution:def letterCombinations(self, digits: str) -> List[str]:# dfsif not digits:return []n = len(digits)ans = []path = ['' for _ in range(n)]   # path长度固定为ndef dfs(i: int) -> None:nonlocal nif i == n:# 搜索到末尾ans.append(''.join(path))returnfor c in MAPPING[int(digits[i])]:path[i] = c # 覆盖dfs(i + 1)dfs(0)return ans

四、19. 删除链表的倒数第 N 个结点

1.模拟

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]:# 模拟# 先求长度l = 0cur = headwhile cur:l += 1cur = cur.nextdummy = ListNode(next = head)   # 哨兵节点l -= n  # 指到指定节点的前一个节点cur = dummywhile l > 0:cur = cur.nextl -= 1cur.next = cur.next.next    # 更改连接return dummy.next

2.前后同步指针

来自灵神题解(. - 力扣(LeetCode))。很妙!

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]:# 前后同步指针left = right = dummy = ListNode(next = head)for _ in range(n):# 右指针先走n位right = right.nextwhile right.next:# 走到指定节点的前一个节点,这里是right.nextleft = left.nextright = right.nextleft.next = left.next.nextreturn dummy.next

五、20. 有效的括号

class Solution:def isValid(self, s: str) -> bool:# 栈st = []hash = {')': '(', '}': '{', ']': '['}for c in s:if c in hash:# 右括号if not st or hash[c] != st[-1]:return Falsest.pop()else:# 左括号st.append(c)return not st   # 为空即对

六、21. 合并两个有序链表

1.递归

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:# 递归if not list1 or not list2:return list1 if list1 else list2if list1.val < list2.val:list1.next = self.mergeTwoLists(list1.next, list2)return list1else:list2.next = self.mergeTwoLists(list1, list2.next)return list2

2.迭代

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:# 迭代dummy = ListNode()cur = dummywhile list1 and list2:if list1.val <= list2.val:cur.next = list1cur = cur.nextlist1 = list1.nextelse:cur.next = list2cur = cur.nextlist2 = list2.nextcur.next = list1 if list1 else list2return dummy.next

感谢你看到这里!一起加油吧!

http://www.yayakq.cn/news/651450/

相关文章:

  • 北京网站推广排名公司沈阳建设工程网
  • 交互式网站制作长尾词挖掘工具爱站网
  • 旅游区网站开发msn网站制作
  • 手机网站建站教程网站编程用什么语言好
  • co域名 大网站wordpress 媒体库 最大
  • 做外贸网站方案私有云可以做网站
  • 珠宝网站谁家做的好山西省住房建设厅网站下载
  • 北海建设厅网站html编辑器怎么用
  • 湖州童装网站制造网站开发
  • 开锁公司网站源码wordpress seo 百度
  • 海誉网站定制设计一套app页面多少钱
  • 做的网站怎样更新盐城网站建设效果
  • 做网站的赚钱吗专门做别墅的网站
  • 网站开发 价格差异金华网站建设系统
  • 四川省广安建设局网站WordPress会员积分插件
  • 好用的网站后台管理系统西安哪个公司可以做网站
  • 公司网站建设开发济南兴田德润简介图片如何规划建设一个企业网站
  • 学校网站做网页飘窗怎么做用来做调查问卷的网站
  • wordpress站群 优化网站建设报价多少钱
  • 领卷网站怎么做discuz做网站赚钱经历
  • 网站建设用书河北省两学一做网站
  • 网站建设执行力wordpress linux权限设置
  • 网站开发面板聊城高新区建设局网站
  • 网站建设记什么科目广西桂林旅游几月份去最好
  • 商城建站系统多少钱wordpress优酷插件下载
  • 康巴什网站建设免费中文网站模板下载
  • 专业网站建站费用怎样进行关键词推广
  • 广州网站推广哪家好c2c交易会被判刑嘛
  • 吉林做网站多少钱iis 多网站
  • 怎样更换动易2006网站模板企业网站开发韵茵建站