牛客21天刷題 day 2

2022-03-06 12:12:25 字數 3848 閱讀 1206

牛客

contents

2.小易喜歡的單詞

題目圓的半徑平方為s,求座標系裡在這個圓周上面的整數座標點有幾個

輸入253

輸出12

0

思路和解答

math.sqrt(4)

2.0

type(math.sqrt(4))

float

math.sqrt(4)==int(math.sqrt(4))

true

注意range的語法

range(start, stop[, step])

引數說明:

start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5);

stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5

step:步長,預設為1。例如:range(0, 5) 等價於 range(0, 5, 1)

import math

s=25

num=0

for i in range(1,int(math.sqrt(s))+1):#由於range的上述語法限制,上限應該加1

if math.sqrt(s-i*i)==int(math.sqrt(s-i*i)):

# print(i)

num+=1

print(4*num)

12

關於python的標準輸入輸出

import sys

sys.stdin.readline().strip()#這一句的意思是讀取鍵盤的輸入,然後去除最後的換行符\n

#raw_input()可以達到跟上邊一句相同的效果

''

由於需要讀取多個輸入,所以上面的**還需要進行小小的改動,最終解答如下

import math

while

true:#不斷地讀入,直到讀到結束符eof(end of file)

try:

s = int(raw_input().strip())

num=0

for i in range(1,int(math.sqrt(s))+1):#由於range的上述語法限制,上限應該加1

if math.sqrt(s-i*i)==int(math.sqrt(s-i*i)):

# print(i)

num+=1

print(4*num)

except eoferror:#通過try...except達到了乙個迴圈停止的效果(為什麼不可以通過乙個迴圈終止條件來寫呢)

break

題目小易喜歡的單詞具有以下特性:

單詞每個字母都是大寫字母

單詞沒有連續相等的字母

單詞沒有形如「xyxy」(這裡的x,y指的都是字母,並且可以相同)這樣的子串行,子串行可能不連續。

例如:思路和解答

檢測是不是符合他不喜歡的標準,滿足任意乙個就是不喜歡,都不滿足就是喜歡

那麼如何檢測每一項標準呢?

遍歷的同時,比較上乙個字母和當前字母是否相同

第三個使用find方法,參考python find()方法

str -- 指定檢索的字串

beg -- 開始索引,預設為0。

end -- 結束索引,預設為字串的長度。

看了一下官方的解答,就是暴力的四重迴圈...但是既然我用的是python,還是應該盡量利用python的一些方法去簡化一下

#include

#include

using

namespace

std;

string

judge

(string word)

; int n = (int)word.size();

for (int i = 1; i < n; i++)

for (int i = 0; i < n; i++)}}

}return res[1];

}int

main

()

#嘗試寫一下第三個條件的判斷

class

getoutofloop

(exception):

pass

try:#這裡的try...except是為了找到條件,列印結果之後,直接跳出兩層迴圈

s='thbtah'

for i in range(len(s)):

if s.find(s[i],i+1)!=-1:

index=s.find(s[i],i+1)

print('i',i)

print('找到的序號',index)

for j in range(i+1,index):

if s.find(s[j],index+1)!=-1:

print("dislikes")

raise getoutofloop()

except:

pass

#看上去簡單一些,但是感覺跟迴圈其實也是一樣的,因為find()本身應該也是乙個個去遍歷的吧...

i 0

找到的序號 3

dislikes

python跳出兩層迴圈

最後通過的**

# -*- coding: utf-8 -*

class

getoutofloop

(exception):

#下面檢測不喜歡的條件,一旦滿足,直接輸出dislikes,否則丟擲異常,並且輸出likes

pass

try:

s=raw_input()#讀取輸入的字串,s指向它

if s.upper()!=s:#如果不全是大寫字母,就是dislike

raise getoutofloop()

for k in range(len(s)-1):#如果有兩個連續字母相等,就是dislike

if s[k]==s[k+1]:

raise getoutofloop()

for i in range(len(s)):#如果滿足第三個條件,就是dislike

if s.find(s[i],i+1)!=-1:

index=s.find(s[i],i+1)

#print('i',i)

#print('找到的序號',index)

for j in range(i+1,index):

if s.find(s[j],index+1)!=-1:

#print("dislikes")

raise getoutofloop()

print('likes')#如果經過了之前的幾次檢測都沒有丟擲異常,就是likes

except:

print('dislikes')

MySQL刷題 牛客網 Day2

今天繼續刷題!獲取所有員工當前的manager 獲取所有員工當前的manager,如果當前的manager是自己的話結果不顯示,當前表示to date 9999 01 01 結果第一列給出當前員工的emp no,第二列給出其manager對應的manager no。create table dept...

Leetcode刷題之旅(Day2)

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...

演算法刷題 筆記(Day2)

題目描述 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。解題思路 一 1.回文數的先決條件x 0.2.利用序列型別資料的性質,先轉字串再進行切片翻轉str 1 題解 class solution def ispalindrome self,x int boo...