leetcode 每日簽到 409 最長回文串

2022-06-18 15:54:11 字數 1667 閱讀 9450

給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。

在構造過程中,請注意區分大小寫。比如 "aa" 不能當做乙個回文字串。

注意:假設字串的長度不會超過 1010。

示例 1:

輸入:"abccccdd"

輸出:7

**:

class solution:

def longestpalindrome(self, s: str) -> int:

a=collections.counter(s)

num=0

count=0

if len(a)==1:

return len(s)

for i in a:

if a[i]%2==0:

num+=a[i]

elif a[i]>1:

num+=a[i]-1

count=1

else:

count=1

return num+count if len(s)!=0 else 0

大神**:

class solution:

def longestpalindrome(self, s):

ans = 0

count = collections.counter(s)

for v in count.values():

ans += v // 2 * 2

if ans % 2 == 0 and v % 2 == 1:

ans += 1

return ans

兩數之和

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。

你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。

示例:給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

思路:用兩層for迴圈超時,方法是遍歷nums,用乙個雜湊表(字典)來儲存nums中不滿足target-nums[i]==雜湊表.key的值與下標

例:nums=[3,2,4],target=6

遍歷到3時,檢測字典裡是否存在6-3這個值。因為是第一次字典是空的,於是把存入字典

遍歷到2時,檢測字典裡是否存在6-2這個值。字典裡沒有,於是把存入

遍歷到4時,檢測字典裡是否存在6-4這個值。字典裡存在,於是把與這個nums[3]=4的下標增加到列表當中返回

**

#兩數之和

class solution:

def twosum(self, nums, target):

a=ha={}

b=0for i in range(len(nums)):

for j in list(ha.keys()):

if target-nums[i]==j:

return a

ha[nums[i]]=i

a=solution()

nums = [3,2,4]

target = 6

print(a.twosum(nums,target))

LeetCode 每日一題 409 最長回文串

給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7。先來看...

高校考勤簽到系統php,php實現每日簽到功能

首次簽到獲得1個積分,第二次簽到獲得2個積分,第三次簽到獲得3個積分,以此類推但是簽到必須每天連續積分才可以遞增,如果有中斷再次簽到時獲得積分仍然從1開始遞增 簽到 function datatype json success function res else count 1 point 1 si...

js php 實現日曆簽到 js實現每日簽到功能

js var calutil else 內層for語句結束 document.write 外層for語句結束 單元格的自然序號是否代表有效日期非常關鍵,為此必須加入乙個過濾機制 僅列印有效的日期。有效的日期大於0小於小於等於處理月的總天數。三.以下是完整的js日曆 function is leap ...