手撕算法(定制整理版2)

最長無重復子字符串

class Solution(object):def lengthOfLongestSubstring(self, s):""":type s: str:rtype: int"""if not s:return 0max_len = 0tp = []for a in s:while a in tp:del tp[0]tp.append(a)if len(tp) > max_len:max_len = len(tp)return max_len# ACM模式輸入輸出處理
if __name__ == "__main__":import sysfor line in sys.stdin:s = line.strip()sol = Solution()print(sol.lengthOfLongestSubstring(s))

把數組排成最小數,最大數,數組中的數組合出最大的數字

class Solution(object):def largestNumber(self, nums):""":type nums: List[int]:rtype: str"""def compare(x, y):xy = str(x) + str(y)yx = str(y) + str(x)return (xy > yx) - (xy < yx)  # 返回 -1, 0, 1nums.sort(cmp=compare)if not nums or nums[0] == 0:return "0"return ''.join(map(str, nums))

對稱的二叉樹

class Solution(object):def isSymmetric(self, root):""":type root: Optional[TreeNode]:rtype: bool"""if not root:return Truedef dfs(left, right):if not (left or right):return Trueif not (left and right):return Falseif left.val != right.val:return Falsereturn dfs(left.left, right.right) and dfs(left.right, right.left)return dfs(root.left, root.right)

回文數

class Solution(object):def isPalindrome(self, x):""":type x: int:rtype: bool"""if x < 0:return Falseans = 0prior = xwhile x > 0:temp = x % 10ans = ans * 10 + tempx //= 10return ans == prior# ACM模式輸入輸出處理
if __name__ == "__main__":import sysfor line in sys.stdin:# 處理輸入:假設每行一個整數x = int(line.strip())sol = Solution()print(sol.isPalindrome(x))

最長回文子串

class Solution(object):def longestPalindrome(self, s):""":type s: str:rtype: str"""if len(s) < 2:return sres = ""for i in range(len(s)):# 奇數長度回文l, r = i, iwhile l >= 0 and r < len(s) and s[l] == s[r]:if r - l + 1 > len(res):res = s[l:r+1]l -= 1r += 1# 偶數長度回文l, r = i, i+1while l >= 0 and r < len(s) and s[l] == s[r]:if r - l + 1 > len(res):res = s[l:r+1]l -= 1r += 1return res# ACM模式輸入輸出處理
if __name__ == "__main__":import sysfor line in sys.stdin:s = line.strip()sol = Solution()print(sol.longestPalindrome(s))

子字符串在原字符串中出現的次數

def count_substring(string, sub_string):""":type string: str:type sub_string: str:rtype: int"""count = 0len_sub = len(sub_string)len_str = len(string)for i in xrange(len_str - len_sub + 1):if string[i:i+len_sub] == sub_string:count += 1return count

合并區間

class Solution(object):def merge(self, intervals):""":type intervals: List[List[int]]:rtype: List[List[int]]"""intervals.sort(key=lambda x: x[0])merged= []for interval in intervals:if not merged or merged[-1][1] <interval[0]:merged.append(interval)else:merged[-1][1] = max(merged[-1][1],interval[1])return merged

合并兩個有序鏈表

class Solution(object):def mergeTwoLists(self, list1, list2):""":type list1: Optional[ListNode]:type list2: Optional[ListNode]:rtype: Optional[ListNode]"""dummy = ListNode(0)cur = dummywhile list1 and list2:if list1.val < list2.val:cur.next = list1list1 = list1.nextelse:cur.next = list2list2 = list2.nextcur = cur.nextcur.next = list1 if list1 else list2return dummy.next

反轉鏈表

class Solution(object):def reverseList(self, head):""":type head: ListNode:rtype: ListNode"""cur = headpre = Nonewhile cur is not None:temp = cur.nextcur.next = prepre = curcur = tempreturn pre

數組找出乘積為n的兩個數

寫個函數來校驗兩個二叉樹是否相同,要結構和值都相同

數組中出現最多的數字

def find_most_frequent(nums):""":type nums: List[int]:rtype: int"""if not nums:return Nonecount_dict = {}max_count = 0result = nums[0]for num in nums:if num in count_dict:count_dict[num] += 1else:count_dict[num] = 1if count_dict[num] > max_count:max_count = count_dict[num]result = numelif count_dict[num] == max_count:# 如果出現次數相同,返回數值較小的result = min(result, num)return result

滑動窗口

抖音電商測開

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79544.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79544.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79544.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數字IC后端培訓教程之數字后端項目典型案例分析

今天給大家分享下最近小編幫助學員解決的幾個經典數字IC后端項目問題。希望能夠對大家的學習和工作有所幫助。 數字IC后端項目典型問題之后端實戰項目問題記錄&#xff08;2025.04.24&#xff09; 數字IC后端設計實現培訓教程&#xff08;整理版&#xff09; Q1: 老師好&…

window 顯示驅動開發-將虛擬地址映射到內存段(二)

在將虛擬地址映射到段的一部分之前&#xff0c;視頻內存管理器調用顯示微型端口驅動程序的 DxgkDdiAcquireSwizzlingRange 函數&#xff0c;以便驅動程序可以設置用于訪問可能重排的分配位的光圈。 驅動程序既不能將偏移量更改為訪問分配的 PCI 光圈&#xff0c;也不能更改分配…

Termius ssh連接服務器 vim打開的文件無法復制問題

你的問題是&#xff1a; ? 在 Termius (macOS) SSH 連接到 VMware Ubuntu&#xff0c;使用 vim 打開 .cpp 文件時&#xff0c;可以復制文本&#xff1b; ? 但在 Windows 10 上 SSH 到 VMware 的 Red Hat 6.4 時&#xff0c;復制操作無效。 ? &#x1f3af; 初步分析 復制…

楊校老師項目之基于SSM與JSP的鮮花銷售系統-【成品設計含文檔】

基于SSMJSP鮮花商城系統 隨著電子商務的快速發展&#xff0c;鮮花在線銷售已成為一種重要的消費模式。本文設計并實現了一個基于JSP技術的鮮花銷售管理系統&#xff0c;采用B/S架構&#xff0c;使用SSM框架進行開發&#xff0c;并結合Maven進行項目依賴管理。系統分為前臺用戶模…

集成學習——Bagging,Boosting

一.什么是集成學習 集成學習的基本思想是通過結合多個基學習器的預測結果&#xff0c;來提高模型的泛化能力和穩定性。這些基學習器可以是相同類型的算法&#xff0c;也可以是不同類型的算法。 當基學習器之間具有一定的差異性時&#xff0c;它們在面對不同的樣本子集或特征子…

【筆試訓練】給一個數組構建二叉樹|從前序遍歷與中序遍歷構建二叉樹|二叉樹中的最大路徑和

文章目錄 1.給一個數組構建二叉樹2.從前序遍歷和中序遍歷構建二叉樹3.二叉樹中的最大路徑和 1.給一個數組構建二叉樹 思路&#xff1a;就是借助一個隊列實現層序遍歷的思想。 先將root節點入隊列&#xff0c;構造左右節點后&#xff0c;root取出來時&#xff0c;將其左右孩子都…

Swift實戰:如何優雅地從二叉搜索樹中挑出最接近的K個值

文章目錄 摘要描述題解答案題解代碼分析示例測試及結果時間復雜度空間復雜度總結未來展望 摘要 在日常開發中&#xff0c;我們經常會遇到“在一堆數據中找出最接近某個值”的需求。尤其在搜索引擎、推薦系統或者地理坐標匹配中&#xff0c;這種“最近匹配”的問題非常常見。Le…

Linux512 ssh免密登錄 ssh配置回顧

下載MX 官網 參考 OK 登個tom試試 然后再計劃登個RealServer 計劃再用僅主機網卡試試 連不上 看來要通過JumpServer再聯 通過網卡訪問 被踢掉了 成功通過跳板機JumpServer登入到RealServer 方法一免密登錄 現計劃嘗試方法二 只有1個tom 我連了兩個tom 看來是根據IP劃…

編譯原理AST以Babel為例進行解讀、Webpack中自定義loader與plugin

AST樹詳解 編譯原理 主要研究如何將高級編程語言的源代碼轉換為機器能理解的目標代碼&#xff08;通常是二進制代碼或中間代碼&#xff09;。編譯器的底層實現通常包含多個階段&#xff0c;包括詞法分析、語法分析、語義分析和代碼生成。 一、AST的核心概念與作用 AST&#…

51c大模型~合集127

我自己的原文哦~ https://blog.51cto.com/whaosoft/13905076 #Executor-Workers架構 圖解Vllm V1系列2 本文詳細介紹了vllm v1的Executor-Workers架構&#xff0c;包括Executor的四種類型&#xff08;mp、ray、uni、external_launcher&#xff09;及其適用場景&#xff…

《Effective Python》第1章 Pythonic 思維詳解——深入理解流程控制中的解構利器match

《Effective Python》第1章 Pythonic 思維詳解——深入理解流程控制中的解構利器match 引言 Python 3.10 引入了全新的 match 語句&#xff0c;它不僅是一個“類 switch”的語法結構&#xff0c;更是一種**結構化模式匹配&#xff08;structural pattern matching&#xff09…

Nacos源碼—8.Nacos升級gRPC分析五

大綱 7.服務端對服務實例進行健康檢查 8.服務下線如何注銷注冊表和客戶端等信息 9.事件驅動架構源碼分析 7.服務端對服務實例進行健康檢查 (1)服務端對服務實例進行健康檢查的設計邏輯 (2)服務端對服務實例進行健康檢查的源碼 (3)服務端檢查服務實例不健康后的注銷處理 (…

[手寫系列]Go手寫db — — 完整教程

[手寫系列]Go手寫db ZiyiDB是一個簡單的內存數據庫實現&#xff0c;支持基本的SQL操作&#xff0c;包含create、insert、delete、select、update、drop。目前一期暫支持int類型以及字符類型數據&#xff0c;后續會支持更多數據結構以及能力。本項目基于https://github.com/eato…

十三、動態對象創建(Dynamic Object Creation)

十三、動態對象創建&#xff08;Dynamic Object Creation&#xff09; 目錄 13.1 對象創建&#xff08;Object creation&#xff09;13.2 new / delete 操作符13.3 數組的 new 與 delete13.4 總結 背景說明 有時候我們需要知道程序中對象的數量、類型和聲明周期&#xff0c;…

一、網絡基礎

IPv4&#xff1a;32位二進制 -- 點分十進制標識 192.168.1.1&#xff08;連續的32位&#xff0c;為了好看方便每8位一段&#xff09; IPv6&#xff1a;128位二進制 IP&#xff08;Internet協議&#xff09; 洪泛&#xff1a;除流量進入接口外的所有接口的復制 OSI模型&#…

前端面試測試題目(一)

一、Vue的雙向綁定機制&#xff08;v-model底層實現原理&#xff09; Vue的雙向綁定核心由 響應式系統 和 指令語法糖 共同實現&#xff0c;具體原理如下&#xff1a; 響應式系統 Vue通過數據劫持和依賴收集實現數據變化到視圖的同步&#xff1a; ? 數據劫持&#xff1a;在Vue…

我用Deepseek + 亮數據爬蟲神器 1小時做出輿情分析器

我用Deepseek 亮數據爬蟲神器 1小時做出輿情分析器 一、前言二、Web Scraper API 實戰&#xff08;1&#xff09;選擇對應的URL&#xff08;2&#xff09;點擊進入對應url界面&#xff08;3&#xff09;API結果實例和爬取結果展示&#xff08;4&#xff09;用戶直接使用post請…

機器學習實戰:歸一化與標準化的選擇指南

在機器學習實戰中——是否需要歸一化&#xff08;Normalization&#xff09;或標準化&#xff08;Standardization&#xff09;&#xff0c;取決于所使用的模型類型。 ? LightGBM / XGBoost 是否需要歸一化或標準化&#xff1f; 不需要。 &#x1f527; 原因&#xff1a; L…

磁珠特點,原理與應用

什么是磁珠&#xff1f; 磁珠在1930年由日本東京工業大學的加藤與五郎和武井武兩位教授發明&#xff0c;TDK首次生產&#xff0c;是電感的一種&#xff0c;區別就是&#xff1a;電感外面包裹著鐵氧體材質。 因鐵氧體具有高電阻率&#xff0c;低渦流損耗&#xff0c;高頻時依舊…

【連載14】基礎智能體的進展與挑戰綜述-多智能體系統設計

基礎智能體的進展與挑戰綜述 從類腦智能到具備可進化性、協作性和安全性的系統 【翻譯團隊】劉軍(liujunbupt.edu.cn) 錢雨欣玥 馮梓哲 李正博 李冠諭 朱宇晗 張霄天 孫大壯 黃若溪 在基于大語言模型的多智能體系統&#xff08;LLM-MAS&#xff09;中&#xff0c;合作目標和合…