蚂蚁暑期 319 笔试

蚂蚁暑期 319 笔试

全相等



解题:

python 复制代码
def solve():
    n = int(input())
    s = input()
    ans = 0
    for left in range(n):
        freq = [0] * 26
        for right in range(left, n):
            freq[ord(s[right]) - ord('a')] += 1
            vals = set(i for i in freq if i > 0)
            if len(vals) == 1:
                ans += 1
    print(ans)

T = int(input())
for _ in range(T):
    solve()

文本数值混合特征工程



求解:

机器学习的题目 本质都是 数据加载 -> 特征处理 -> 模型训练 -> 预测输出 这四个固定模块

python 复制代码
import json
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import SGDClassifier, LogisticRegression
from sklearn.preprocessing import StandardScaler, PolynomialFeatures
from scipy.sparse import hstack

# 1. 加载数据
data = json.loads(input())
train_txt = data['train_txt']
train_num = np.array(data['train_num'])
train_y = np.array(data['train_y'])
test_txt = data['test_txt']
test_num = np.array(data['test_num'])

# Word-level TF-IDF
word_vec = TfidfVectorizer(lowercase=True, stop_words="english",
                           ngram_range=(1, 2), sublinear_tf=True)

tr_word = word_vec.fit_transform(train_txt)
te_word = word_vec.transform(test_txt)

# Char 3-gram TF-IDF
char_vec = TfidfVectorizer(analyzer="char", ngram_range=(3, 3),
                           lowercase=True, sublinear_tf=True)
tr_char = char_vec.fit_transform(train_txt)
te_char = char_vec.transform(test_txt)

# Numeric: StandardScaler + PolynomialFeatures
scaler = StandardScaler()
poly = PolynomialFeatures(degree=2, include_bias=False)
tr_num = poly.fit_transform(scaler.fit_transform(train_num))
te_num = poly.transform(scaler.fit_transform(test_num))


# 合并
X_tr = hstack([tr_word, tr_char, tr_num])
X_te = hstack([te_word, te_char, te_num])

# LogisticRegression
lr = LogisticRegression(penalty='l2', solver='liblinear',
                        max_iter=1000, random_state=42)
lr.fit(X_tr, train_y)

# SGDClassifier
sgd = SGDClassifier(loss='log_loss', penalty='l2', alpha=1e-4,
                    max_iter=1000, random_state=42)

sgd.fit(X_tr, train_y)

# 软投票
prob = (lr.predict_proba(X_te)[:1] + sgd.predict_proba(X_te)[:1]) / 2
preds = (prob > 0.5).astype(int).tolist()
print(json.dumps(preds))

三元异或


考的是 异或的基本性质:a⊕b=c⟹a=b⊕c,b=a⊕c

python 复制代码
def solve():
    n, k = map(int, input().split())
    nums = list(map(int, input().split()))
    # a_i ^ a_j ^ a_p ^ a_q = k => a_i ^ a_j = k ^ (a_p ^ a_q)
    mp = {} # key为 a_i ^ a_j的值, value是数组,存放 下标元组(i, j)
    for i in range(n):
        for j in range(i + 1, n):
            v = nums[i] ^ nums[j]
            if v not in mp:
                mp[v] = []
            mp[v].append((i, j))
    for i in range(n):
        for j in range(i + 1, n):
            target = nums[i] ^ nums[j] ^ k
            if target not in mp:
                continue
            for a, b in mp[target]:
                if i != a and i != b and j != a and j != b:
                    print("Yes")
                    return
    print("No")

T = int(input())
for _ in range(T):
    solve()
相关推荐
happymaker06261 小时前
LeetCodeHot100——42.接雨水
算法
阿正的梦工坊2 小时前
【Rust】07-错误处理:Option、Result 与 ? 运算符
开发语言·算法·rust
八解毒剂3 小时前
数据结构-平衡二叉树——对二叉搜索树的优化
数据结构·c++·算法
运行时记录3 小时前
别再手动写提示词了 — SkillOpt 让技能文档自己进化
算法
啦啦啦啦啦zzzz4 小时前
算法总结(二分查找、双指针)
c++·算法
qq_8573058194 小时前
python语法
开发语言·python·算法
DXM05214 小时前
第9期|从机器学习到深度学习:AI遥感解译的进化逻辑
人工智能·算法·计算机视觉
小蒋学算法4 小时前
算法-阶乘函数后K个零
算法
weixin_307779135 小时前
智能模拟数据生成平台:生成式AI合成数据技术重塑开发测试效能
人工智能·测试工具·算法·测试用例
羊羊小栈5 小时前
Uplift营销供应链协同决策系统(基于Uplift因果推断与运筹优化算法)
前端·人工智能·算法·毕业设计·大作业